关于端口做过映射导致nginx自动添加内网端口的问题

转载:
http://6127728.blog.51cto.com/6117728/1294095

现象:
1、内网nginx服务器提供web的端口为8080;
2、通过路由的转换,将8080端口映射为外网的8090端口(www.test.com);
3、访问二级目录www.test.com:8090/test,此时nginx会出现访问出错,并自动更改端口为内网的8080,即www.test.com:8080/test/;
4、排除了nginx自动添加斜杠的问题,因为nginx从0.8.48这个版本后就已经设置为自动添加了,即
server_name_in_redirect off;
默认是off了

原因:
通过端口映射时,nginx会自动添加内网端口,修改路径导致路径访问出错;

解决:
在server里面加入port_in_redirect off;关闭自动添加端口


对于做了外网映射的,可以采用下列方案:
https://segmentfault.com/q/1010000003805730

场景:在第三方架设nginx反向代理,服务器在远程,第三方开放了8800端口

访问xx.xx.xx.xx:8800 出现302重定向 紧接着400 地址为xx.xx.xx.xx丢失了8800端口(就是转向默认的80端口)

如果手动加上8800端口就可以正常访问

附配置
server {

listen       8800;
server_name  localhost xxxxx;

#charset koi8-r;

#access_log  logs/host.access.log  main;

location / {
    proxy_pass xxxxx;
    proxy_set_header Host $host:8800;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header REMOTE-HOST $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}

}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值