资讯中心

nginx反向署理后端tomcat日志如何获取真实IP

  

Nginx作为反向代理时,Tomcat的日志记录的客户端IP不再是真实的客户端IP,而是Nginx代理的IP。要解决这个问题,可以在Nginx配置一个新的Header,用来存储$remote_addr,然后在Tomcat获取并记录这个值。

Nginx的配置文件中,在server部分加入以下参数:

 

plaintext
 
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

 

Tomcat的配置文件中,在server.xml中加入以下代码:

 

plaintext
 


 

上述配置完成后,重启Nginx和Tomcat,即可在Tomcat的日志中获取到真实的客户端IP。