当我们使用了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了。