天天看点

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

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

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

一、配置文件:

<code>  </code><code># the 8111 port</code>

<code>   </code><code>server {</code>

<code>       </code><code>listen       8111;</code>

<code>       </code><code>server_name  wetest.cn;</code>

<code>       </code> 

<code>       </code><code>location </code><code>/honetest</code> <code>{</code>

<code>         </code><code>proxy_pass http:</code><code>//11</code><code>.42.30.30:8080</code><code>/honetest</code><code>;</code>

<code>         </code><code>proxy_set_header X-Real-IP $remote_addr;</code>

<code>         </code><code>proxy_set_header Host $host:$server_port; </code><code>#这里是重点,这样配置才不会丢失端口 </code>

<code>       </code><code>}</code>

<code>       </code><code>location = </code><code>/50x</code><code>.html {</code>

<code>           </code><code>root   html;</code>

<code>   </code><code>}</code>

二、产生原因:

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

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

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

继续阅读