1.目的:
获取客户端真实IP
2.场景(环境):
客户端 -> nginx服务 -> tomcat服务
3.结果:
只能获取到nginx服务IP
4.修改nginx.conf文件,获取客户端真实IP
location{}中添加以下代码:
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
添加后:
location / {
proxy_pass http://localhost:8999/;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
Java客户端获取
request.getHeader("X-Forwarded-For")
或
request.getHeader("X-Real-IP")