nginx自动添加内网端口

nginx自动添加内网端口,第1张

1.内网nginx服务器提供web的端口为8080;

2.通过路由的转换,将8080端口映射为外网的80端口( www.test.com );

3.访问二级目录 www.test.com/test ,此时nginx会出现访问出错,并自动更改端口为内网的8080,即 www.test.com:8080/test/ ;

4.排除了nginx自动添加斜杠的问题,因为nginx从0.8.48这个版本后就已经设置为自动添加了,即

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

在server里面加入

运行中的nginx容器开发端口,这样做:

1、在nginx.conf中添加端口;

2、重启nginx配置文件nginx&sreload;

3.、ps&ef|grepnginx查看nginx进程;

4、设置防火墙对外开放端口,firewall&cmd&list&all查看开放的端口号,sudofirewall&cmd&add&port=18081/tcp&permanent开放18081端口

5、重启防火墙firewall&cmd&reload。

在nginx中$host变量是无法添加端口号的,即便是在请求中修改Host的内容,也无法修改让$host中增加端口信息。但是可以使用$http_host变量来做到这一点。

例如,如下的配置:

使用如下的命令:

$ curl -H "Host:127.0.0.1:8080" 'http://127.0.0.1:8080'

可以得到如下结果:

因此,从结果看,即便是使用-H修改了请求中的host,但是$host变量仍然只是ip地址部分,而$http_host则可以显示成ip:port的形式。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11654591.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存