32哦哦 发表于 2017-9-15 09:02:38

Nginx+tomcat显示真实IP地址

对于nginx+tomcat这种架构,如果后端tomcat配置保持默认,那么tomcat的访问日志里,记录的就是前端nginx的IP地址,而不是真实的访问IP。因此,需要对nginx、tomcat做如下配置:
1)nginx配置在nginx.conf配置中修改
server{      listen            80;      server_name       www.abc.com;
      location / {            proxy_connect_timeout       3;            proxy_send_timeout          30;            proxy_read_timeout          30;            proxy_pass                  http://192.168.0.67:8081;            proxy_set_header   Host $host;            proxy_set_header   X-Real-IP$remote_addr;            proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;      }    }2)tomcat配置 在server.xml文件中<host></host>中,修改原有内容如下
      <ValveclassName="org.apache.catalina.valves.AccessLogValve"directory="logs"            prefix="localhost_access_log" suffix=".txt"               pattern="%{X-FORWARDED-FOR}i%l %u %t %r %s %b %D %{User-Agent}i" resolveHosts="false" />

huangdiwang2006 发表于 2017-9-15 09:35:59

{:6_406:}{:6_406:}{:6_406:}

AndyDeny 发表于 2017-9-16 06:16:08

很好很实用的说明

zcqwr 发表于 2017-9-16 09:46:27

{:6_405:}这个不错   谢谢分享
页: [1]
查看完整版本: Nginx+tomcat显示真实IP地址