您的位置:首页 > 运维架构 > Tomcat

nginx+tomcat取得远程用户IP问题的解决办法

2016-02-19 17:21 295 查看
nginx+(1…n)tomcat集群部署时,后端tomcat需要取得用户的IP,这时通过 request.getRemoteAddr()取得的始终是127.0.0.1.

由于用户请求经过nginx,ngigx转发了请求到tomcat后,tomcat取得的始终是nginx的Ip,如果需要取得真实用户IP,只需要在ngix上做些配置。

location / 下设置

  proxy_set_header X-Real-IP $remote_addr;

  proxy_set_header Host $host;

 

测试配置:./sbin/nginx -t -c conf/nginx.conf  正确后重启nginx.

Java代码修改如下

out.println("X-Real-IP : " + request.getHeader("X-Real-IP") + "<br>"); 

其中X-Real-IP即用户真实IP

注:X-Real-IP是可变量,可根据自己的需要随意换名字。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  nginx tomcat