nginx 反向代理时丢失端口的解决方案
2017-09-03 20:53
381 查看
今天,配置nginx反向代理时遇到一个问题,当设置nginx监听80端口时转发请求没有问题。但一旦设置为监听其他端口,就一直跳转不正常;如,访问欢迎页面时应该是重定向到登录页面,在这个重定向的过程中端口丢失了。 这里给出一个简短的解决方案,修改nginx的配置文件。
一、配置文件
# the 90 port server { listen 90; server_name zxy1994.cn; proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-Server $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $host:$server_port; #这里是重点,这样配置才不会丢失端口 location / { proxy_pass http://127.0.0.1:9001; } location = /50x.html { root html; } }x 1
# the 90 port2
server {3
listen 90;4
server_name zxy1994.cn;5
proxy_set_header X-Forwarded-Host $host;6
proxy_set_header X-Forwarded-Server $host;7
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;8
proxy_set_header Host $host:$server_port; #这里是重点,这样配置才不会丢失端口9
location / {10
proxy_pass http://127.0.0.1:9001;11
}12
location = /50x.html {13
root html;14
}1516
}
二、产生原因
nginx没有正确的把端口信息传送到后端,没能正确的配置nginx,下面这行是关键 proxy_set_header Host $host:$server_port; 这一行是关键。相关文章推荐
- nginx 反向代理时丢失端口的解决方案
- nginx反向代理监听非80端口造成的端口丢失解决方案
- nginx 反向代理时丢失端口的解决方案
- nginx 反向代理时丢失端口的解决方案
- Nginx反向代理设置 从80端口转向其他端口
- Nginx之反向代理与真实ip地址丢失-yellowcong
- Nginx反向代理关于端口的问题
- nginx反向代理服务器端口问题
- nginx反向代理tomcat,由于客户端输入的端口不一致造成网页basehref错误的问题及解决办法
- 解决nginx使用proxy_pass反向代理时,cookie丢失的问题
- Nginx使用反向代理时Hessian411错误解决方案(转)
- Nginx 配置反向代理后,页面中取绝对URL地址的问题显示代理端口
- 使用nginx反向代理到不同服务器(共享同一端口)配置文件
- nginx 反向代理 端口设置问题
- Nginx反向代理使用IIS,使其可以同时在同一端口上访问ASP.NET MVC和Python
- nginx代理tomcat后,tomcat获取真实(非proxy,非别名)nginx服务端ip端口的解决方案
- 解决nginx使用proxy_pass反向代理时,cookie丢失的问题
- Nginx反向代理关于端口的问题
- 关于nginx+tomcat搭建反向代理时路径和端口问题
- (转)Nginx反向代理设置 从80端口转向其他端口