尝试反向代理Node.js服务器时,Nginx仅在端口80上工作

时间:2020-05-13 17:53:16

标签: node.js ubuntu nginx pm2 ufw

我正在尝试使用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管理我的节点进程”

有什么建议吗?

0 个答案:

没有答案