nginx反向代理监听非80端口造成的端口丢失解决方案

今天,配置nginx反向代理时遇到一个问题,当设置nginx监听80端口时转发请求没有问题。但若设置为监听其他端口,就一直跳转不正常;如,访问欢迎页面时应该是重定向到登录页面,在这个重定向的过程中端口丢失了。

这里给出一个简短的解决方案,修改nginx的配置文件。

一、配置文件:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
  # the 8111 port
   server {
       listen       8111;
       server_name  wetest.cn;
        
       location /honetest {
         proxy_pass http://11.42.30.30:8080/honetest;
         proxy_set_header X-Real-IP $remote_addr;
         proxy_set_header Host $host:$server_port; #这里是重点,这样配置才不会丢失端口 
       }
       location = /50x.html {
           root   html;
       }
   }


二、产生原因:

nginx没有正确的把端口信息传送到后端,没能正确的配置nginx,下面这行是关键

proxy_set_header Host $host:$server_port; 这一行是关键。


      本文转自ling118 51CTO博客,原文链接:http://blog.51cto.com/meiling/1978395,如需转载请自行联系原作者




上一篇:微信双开是定时炸弹?关于非越狱iOS上微信分身高危插件ImgNaix的分析


下一篇:阿里P8架构师谈:高并发架构解决方案总结