在虚拟专用服务器上运行Ubuntu 18.04。安装了Nginx(用作代理),使用PM2服务Nodejs应用。
现在工作了一个月,服务器突然返回502:
2018/10/10 00:39:51 [错误] 1009#1009:* 19连接到上游时,connect()失败(111:连接被拒绝),客户端:176.104 .---.---,服务器:foo.bar.com,请求:“ GET / HTTP / 2.0”,上游:“ http://127.0.0.1:4000/”,主机:“ foo.bar.com”
2018/10/10 00:39:51 [错误] 1009#1009:* 19连接到上游时没有活动的上游,客户端:176.104 .---.---,服务器:foo.bar.com,请求:“ GET /favicon.ico HTTP / 2.0”,上游:“ http://localhost/favicon.ico”,主机:“ foo.bar.com”,引荐来源网址:“ https://foo.bar.com/”
2018/10/10 01:10:15 [错误] 1009#1009:* 24连接到上游时失败(111:连接被拒绝),客户端:176.104 .--.---,服务器: foo.bar.com,请求:“ GET / HTTP / 2.0”,上游:“ http://[::1]:4000/”,主机:“ foo.bar.com”
2018/10/10 01:10:15 [错误] 1009#1009:* 24连接到上游时失败(111:连接被拒绝),客户端:176.104 .---.---,服务器:foo.bar.com,请求:“ GET / HTTP / 2.0”,上游:“ http://127.0.0.1:4000/”,主机:“ foo.bar.com”
2018/10/10 01:10:15 [错误] 1009#1009:* 24连接上游时没有实时上游,客户端:176.104 .---.---,服务器:foo.bar.com,请求:“ GET /favicon.ico HTTP / 2.0”,上游:“ http://localhost/favicon.ico”,主机:“ foo.bar.com”,引荐来源网址:“ https://foo.bar.com/”
最重要-此配置可以完美使用一个月。然后它停止工作。上载新版本的应用程序时发生了这种情况。已回滚到以前的版本(整个系统的完整副本)。但是现在,即使以前的版本(有效)也无法使用相同的错误。所以在这里挠头。
sudo ufw status
Status: active
To Action From
-- ------ ----
**/tcp ALLOW ******
Nginx Full ALLOW Anywhere
Nginx Full (v6) ALLOW Anywhere (v6)
我尝试仅提供静态HTML文件,但它确实起作用。我曾尝试提供一个虚拟的hello-world Expressjs应用,但它确实有效。因此问题似乎出在Angular生成的 server.js (通用引擎)上。
答案 0 :(得分:4)
502错误的网关错误表示NGINX无法访问您的后端。
确保pm2运行NodeJS应用程序并侦听4000 / TCP。
您只需使用以下命令通过curl
或netstat
进行检查:
netstat -ntlp | grep :4000
curl http://127.0.0.1:4000