我的服务器中的 Ubuntu 和 nginx。我有这个服务器的多个子域,它的 3000 端口已经被其他网站使用。整个节点应用程序将从pm2提供。
我猜导致 502 网关错误,是我的服务器没有提供端口。
// /etc/nginx/sites-available/projectB
server {
root /var/www/projectB;
server_name projectB.domain.com www.projectB.domain.com;
location / {
proxy_pass http://localhost:3001; // this will be fine if it is localhost: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;
}
}
这是我的后端服务端口。里面不存在3001端口。我也会在下面提供 nginx error.log。
// sudo netstat -plant
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 127.0.0.53:53 0.0.0.0:* LISTEN 494/systemd-resolve
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 787/sshd: /usr/sbin
tcp 0 0 0.0.0.0:443 0.0.0.0:* LISTEN 80730/nginx: master
tcp 0 0 127.0.0.1:27017 0.0.0.0:* LISTEN 32831/mongod
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 80730/nginx: master
tcp 0 0 127.0.0.1:27017 127.0.0.1:39994 ESTABLISHED 32831/mongod
tcp 0 0 127.0.0.1:39994 127.0.0.1:27017 ESTABLISHED 81007/node
tcp 0 364 139.59.107.31:22 124.13.195.75:50855 ESTABLISHED 82341/sshd: root@pt
tcp 0 0 127.0.0.1:27017 127.0.0.1:39984 ESTABLISHED 32831/mongod
tcp 0 0 127.0.0.1:27017 127.0.0.1:39986 ESTABLISHED 32831/mongod
tcp 0 0 127.0.0.1:39986 127.0.0.1:27017 ESTABLISHED 81007/node
tcp 0 0 127.0.0.1:39984 127.0.0.1:27017 ESTABLISHED 81007/node
tcp6 0 0 :::22 :::* LISTEN 787/sshd: /usr/sbin
tcp6 0 0 :::3000 :::* LISTEN 81007/node
tcp6 0 0 :::443 :::* LISTEN 80730/nginx: master
tcp6 0 0 :::80 :::* LISTEN 80730/nginx: master
nginx/error.log
[error] 80731#80731: *434 connect() failed (111: Connection refused) while connecting to upstream, client: clientPort, server: projectB.domain.com, request: "GET / HTTP/1.1", upstream: "http://127.0.0.1:3001/", host: "projectB.domain.com"