nginx自动添加内网端口
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nginx自动添加内网端口相关的知识,希望对你有一定的参考价值。
参考技术A 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如何自动添加域名端口?
使用https协议用nginx做反向代理,nginx.conf配置如下
server
listen 80;
server_name xxxxxxxxx.cn;
rewrite ^(.*) https://$server_name$1 permanent;
server
listen 443 ssl;
server_name xxxxxxxxx.cn;
ssl_certificate /usr/share/nginx/html/cert/3705965__sasu.edu.cn.pem;
ssl_certificate_key /usr/share/nginx/html/cert/3705965__sasu.edu.cn.key;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
ssl_session_timeout 5m;
location /
# proxy_redirect off;
# proxy_set_header Host $host;
# proxy_set_header X-Real-IP $remote_addr;
# proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass https://127.94.231.40:6830;
使用反向代理域名访问https://xxxxxxxxx.cn:443 会自动跳转到页面https://xxxxxxxxx.cn/welcome/;
使用被代理域名https://127.94.231.40:6830访问,会自动跳转到页面https://127.94.231.40:6830/welcome/;这个和所需要的地址https://xxxxxxxxx.cn:443/welcome/是同一个页面。
可以看出在使用nginx反向代理访问后,域名后面没有自动带出443端口。麻烦看下配置哪里有问题。
在nginx.conf里面配置上类似以下配置文件:
stream
upstream dack
server 127.0.0.1:9092;
server 127.0.0.1:9093;
server 127.0.0.1:9094;
server
listen 9091;
proxy_pass dack;
注意:stream级别和http同级。
以上是关于nginx自动添加内网端口的主要内容,如果未能解决你的问题,请参考以下文章