从非标准端口上的 nginx 运行 中删除端口号
Removing Port number from nginx running on non standard port
我在端口 9094 上有一个 nginx 服务器 运行ning,它侦听映射到 etc/hosts
文件中的本地主机的服务器名称。
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(.*)$ 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(.*)$ 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(.*)/$ / 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/login 会将我直接重定向到我的登录页面..
当我 运行 www.myserver.local 在我的浏览器中时,浏览器给出一个错误提示,拒绝连接
浏览器使用这三个端口之一。
- 80(HTTP)
- 443 (HTTPS) 或
- 8080(备用 HTTP)
所以如果你想从浏览器访问非标准端口,你需要在url中指定端口。否则它不会工作。
您必须更改配置以侦听端口 80 并重新启动 nginx。配置应如下所示
server {
listen 80;
listen [::]:80;
使用netstat -tulpn | grep 80
确保服务器正在侦听此端口
我在端口 9094 上有一个 nginx 服务器 运行ning,它侦听映射到 etc/hosts
文件中的本地主机的服务器名称。
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(.*)$ 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(.*)$ 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(.*)/$ / 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/login 会将我直接重定向到我的登录页面..
当我 运行 www.myserver.local 在我的浏览器中时,浏览器给出一个错误提示,拒绝连接
浏览器使用这三个端口之一。
- 80(HTTP)
- 443 (HTTPS) 或
- 8080(备用 HTTP)
所以如果你想从浏览器访问非标准端口,你需要在url中指定端口。否则它不会工作。
您必须更改配置以侦听端口 80 并重新启动 nginx。配置应如下所示
server {
listen 80;
listen [::]:80;
使用netstat -tulpn | grep 80
确保服务器正在侦听此端口