试用了各种request获取ip的办法,都不能成功获取客户端地址,后来日志输出request.getRemoteAddr()后,发现地址为127.0.0.1,就想到应该是本地的nginx做了一层代理,于是在nginx配置上加上
location /{
proxy_pass http://127.0.0.1:9000/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Real-Port $remote_port;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
java端获取IP地址的时候使用request.getHeader("X-Real-IP")就好使了。。
本文介绍了解决Nginx代理环境下无法正确获取客户端真实IP的问题。通过配置Nginx转发请求并设置头部信息,使得后端Java应用能够通过`X-Real-IP`头字段获取到客户端的真实IP地址。
4586

被折叠的 条评论
为什么被折叠?



