正常状况下配置真实客户端IP以下:服务器
#设置主机头和客户端真实地址,以便服务器获取客户端真实IP proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
如上,Host配置只有host,没有对应的port,这就致使在被代理的地方代码中获取得错误的端口(request.getRequestURL())(非80端口)spa
解决方案:代理
将Host后面的改成 $host:$server_port便可,配置文件以下:code
#设置主机头和客户端真实地址,以便服务器获取客户端真实IP proxy_set_header Host $host:$server_port; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;