Nginx 的port_in_redirect 问题解决

2022-07-01 16:05:54 浏览数 (1)

Nginx 的port_in_redirect 问题解决

网站的结构是这样的:

最前面是防火墙,然后是F5,F5分发给后端的nginx,nginx再转发给tomcat

其中nginx用的不是默认的80端口,而是10080

部署的时候,遇到一个问题,进行登录的时候,提交用户名和密码之后,浏览器自动跳转到带有nginx端口号的页面,然后提示无法连接。

通过抓包发现,tomcat返回请求的时候,在http的header里面添加了location来告诉浏览器跳转,当tomcat把包交给nginx之后,nginx在location前面加上了自己的端口号,造成了不能连接的情况。

后来发现,在nginx中有个参数:

port_in_redirect off;

这个参数就是告诉nginx,遇到302跳转的时候,不要加上自己的端口号。加上这个参数之后,问题解决。

0 人点赞