当我们使用了nginx来转发客户端的请求以后,tomcat是无法正确获取到客户端的ip地址的,而是获取到配置了nginx的那台服务器的ip地址。因为tomcat所接收到的请求是通过nginx发出来的(nginx代替客户端发了请求)。
此时需要做如下配置。
location = /freightByIp{ proxy_pass http://xdx8082.com; proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; }
这样就可以获取到真实的ip了。