Nginx + Tomcat集羣 中取得遠程用戶IP問題的解決辦法

Nginx + Tomcat集羣部署時,後端Tomcat需要取得用戶的IP,這時通過

 

request.getRemoteAddr()
 

取得的始終是 Nginx 所在的內網地址


由於用戶請求經過Nginx,Nginx轉發了請求到Tomcat後,Tomcat取得的始終是Nginx的Ip。

 

如果需要取得真實用戶IP,需要在Nginx上做些配置。


location / 下設置
   proxy_set_header X-Real-IP $remote_addr;
   proxy_set_header Host $host;

重啓nginx.


Java代碼,從請求頭中取得真實IP

 

request.getHeader("X-Real-IP")
 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章