我有一個運行在端口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)上偵聽。 –
謝謝你..想出了一些閱讀..謝謝.. –