我正在尝试使用Nginx启动虚拟机并在其中运行2个nodejs应用程序。 我希望这样访问它们: APP 1:example.com:81 APP 2:example.com:82
但仅当我将反向代理配置为在端口80上时,它才能工作。.
NGINX配置:
upstream app_yourdomain {
server 127.0.0.1:3000;
keepalive 8;
}
# the nginx server instance
server {
listen 81;
# listen [::]:81;
server_name mydomain.com www.mydomain.com;
access_log /var/log/nginx/servicename.log;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;
proxy_pass http://localhost:3000/;
proxy_redirect off;
}
}
netstat -napl相关行:
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN -
tcp 0 0 0.0.0.0:81 0.0.0.0:* LISTEN -
ufw
81 ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)
80/tcp (v6) ALLOW Anywhere (v6)
80,443/tcp (v6) ALLOW Anywhere (v6)
Nginx Full (v6) ALLOW Anywhere (v6)
Nginx HTTP (v6) ALLOW Anywhere (v6)
3000 (v6) ALLOW Anywhere (v6)
3001 (v6) ALLOW Anywhere (v6)
81 (v6) ALLOW Anywhere (v6)
为什么它不能在81端口上工作? 如果我将此应用程序的nginx conf更改为端口80,它将在默认域上工作。
我的域的dns由cloudflare管理,并指向虚拟机IP的代理
pm2管理我的节点进程”
有什么建议吗?