我想在不同的端口上使用nginx。如果我在默认端口(80)上运行nginx并尝试使用url(100.100.7.60),这可以正常工作。
server {
listen 80;
server_name 100.100.7.60;
location / {
proxy_pass http://100.100.7.60:3000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}
但是当我将nginx端口80更改为8080或任何端口时。如果现在我正在尝试(100.100.7.60)。我无法运行node.js应用程序。现在,如果我想运行应用程序,我的网址应该是(100.100.7.60:8080)。
server {
listen 8080;
server_name 100.100.7.60;
location / {
proxy_pass http://100.100.7.60:3000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}
任何人都可以解释我的问题是什么吗?我想更改端口号。但我不想在网址中添加(:8080)。我想在更改端口号后创建相同的URL
答案 0 :(得分:0)
如果要侦听其他端口,则无法从URL中排除端口号。当您在浏览器中输入100.100.7.60
时,协议为HTTP,默认情况下端口为80。
这有一个(非常糟糕的)解决方法:
server {
listen 80;
server_name 100.100.7.60;
return 301 http://100.100.7.60:8080;
}
这会将端口80上的所有流量重定向到端口8080,这是(我假设)不是您想要的。
相反,您应该将DNS配置为使用子域(例如myapp.example.com
)指向此服务器,然后使用该服务器名称侦听80端口以便为您的应用程序提供服务。