我有一个运行在端口9094上的nginx服务器,它侦听映射到etc/hosts
文件中的localhost的服务器名称。从非标准端口上运行的nginx中删除端口号
server {
listen 9094;
listen [::]:9094;
server_name www.myserver.local;
port_in_redirect off;
server_name_in_redirect off;
proxy_set_header Host $host:$server_port;
location /portal/foreman/ {
rewrite ^/portal/foreman(.*)$ $1 break;
proxy_pass http://localhost:3001;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location /api/ {
rewrite ^/api(.*)$ $1 break;
proxy_pass http://127.0.0.1:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location /login {
rewrite ^/login(.*)/$ /$1 permanent;
proxy_pass http://localhost:3000;
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;
}
}
在我/etc/hosts
文件我有以下条目
127.0.0.1 www.myserver.local
当我进入www.myserver.local:9094
一切工作像往常一样,与重定向。有人可以帮助我的方式,我可以删除端口号和东西仍然工作,例如:www.myserver.local /登录将重定向我直接到我的登录页面..
当我运行www.myserver.local我的浏览器,浏览器给出错误说,拒绝连接
浏览器试图连接到端口80或443要使用非标准的端口上,则需要在URL中指定端口号。要使用没有端口号的URL,服务器必须在标准端口(80或443)上侦听。 –
谢谢你..想出了一些阅读..谢谢.. –