码迷,mamicode.com
首页 > 其他好文 > 详细

nginx做反向代理时出现302错误

时间:2019-04-19 16:09:53      阅读:316      评论:0      收藏:0      [点我收藏+]

标签:src   原因   nbsp   80端口   后端服务   返回   proxy   端口   解决   

现象:nginx在使用非80端口做反向代理时,浏览器访问发现返回302错误

详细现象如下:

浏览器请求登录页:

 

技术图片

 输入账号密码点击登录:

技术图片

 

 

很明显登录后跳转的地址少了端口号。

 

原因:proxy.conf文件中定义的proxy_set_header Host $host;

意思是nginx接收到浏览器请求后修改请求头中的host信息,然后再把请求转发给后端真实服务节点,服务节点响应后把返回信息传送给nginx,而由于nginx是使用的非80端口做代理,后端服务节点却依然以为nginx是80端口,所以响应信息没有正确的返回给nginx的非80端口

解决:修改为proxy_set_header Host $host:$server_port;即可。

这样就把请求头中的host修改为nginx的非80端口了,后端服务节点就知道响应应该返回的正确nginx代理端口

 

nginx做反向代理时出现302错误

标签:src   原因   nbsp   80端口   后端服务   返回   proxy   端口   解决   

原文地址:https://www.cnblogs.com/sandyyeh/p/10736342.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!