nginx反向代理关于端口的问题


正常情况下配置真实客户端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端口)

解决方案:

将Host后面的改为 $host:$server_port即可,配置文件如下:

            #设置主机头和客户端真实地址,以便服务器获取客户端真实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;  

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM