项目场景:
测试环境没有F5 ,直接配置的是Nginx的地址,且Nginx监听的默认端口80 。 但生产环境F5后面配置了4个Nginx , F5端口开放了 8585端口 ,用于将Http请求转发到Nginx上 .
问题描述:
使用了测试环境的Nginx的配置文件,结果通过F5的ip+port(8585)访问应用时,好多ajax请求错误
原因分析:
经排查端口都转发到了80上,可以推断是F5到Nginx这一层 是没有问题的,直接通过Nginx访问应用,好多应用也是跳转到了80上,因此怀疑是Nginx的配置不正确导致的。
解决方案:
如果使用的不是Nginx默认的80端口,比如我这里的8585 ,转发请求时有可能会丢失端口号,这里只要在$host后面加上:$server_port;即可
在HTTP请求的server节点中
将
proxy_set_header Host $host
调整为
proxy_set_header Host $host:$server_port;
reload 或者重启 nginx ,问题解决。
本文标题:Nginx - 记一次Nginx端口转发失败案例
本文链接:https://blog.quwenai.cn/post/6754.html
版权声明:本文不使用任何协议授权,您可以任何形式自由转载或使用。







还没有评论,来说两句吧...