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

nginx 反向代理时丢失端口的解决方案

时间:2017-09-03 22:12:01      阅读:198      评论:0      收藏:0      [点我收藏+]

标签:一个   cat   class   root   lin   代理   pretty   uri   nginx反向代理   

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

一、配置文件

  1. # the 90 port
  2. 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. }
  15. }

二、产生原因

        nginx没有正确的把端口信息传送到后端,没能正确的配置nginx,下面这行是关键
                proxy_set_header Host $host:$server_port; 这一行是关键。

nginx 反向代理时丢失端口的解决方案

标签:一个   cat   class   root   lin   代理   pretty   uri   nginx反向代理   

原文地址:http://www.cnblogs.com/zeng1994/p/7471021.html

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