今天,配置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,如需转载请自行联系原作者