首页 文章

502在nginx代理上使用Node JS运行的服务器出现错误网关错误

提问于
浏览
5

我收到502错误的网关错误:当我检查nginx错误日志时,我发现:

2017/05/06 02:36:04 [错误] 48176#0:* 135连接()失败(111:连接被拒绝)连接上游,客户端:10.163.XX.X,服务器:abc-def-ghi ,请求:“GET /favicon.ico HTTP / 1.1”,上游:“https://127.0.0.1:5300/favicon.ico”,主机:“hostnname”,referrer:“hostname-1

我搜索足够的互联网但找不到任何东西 . 这里需要注意的一点是,这种间歇性错误仅在特定页面上出现 .

这可能是代码问题吗?或nginx配置问题>任何人都可以在这里帮助我 .

我的一些nginx conf:

upstream node_api_server {
    server localhost:5300 fail_timeout=0;
  }

location / {
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_set_header Host $http_host;
    proxy_set_header X-NginX-Proxy true;
    proxy_read_timeout 5m;
    proxy_connect_timeout 5m;
    proxy_pass_header Set-Cookie;

    proxy_pass https://node_api_server;
    proxy_redirect off;
    proxy_buffer_size   128k;
    proxy_buffers   4 256k;
    proxy_busy_buffers_size   256k;
    break;
}

3 回答

  • 0

    502错误通常是由NGINX无法将请求传递给"upstream"引起的,在这种情况下是您的Node.js服务器(这也是错误消息提示的内容:"Connection refused"“) .

    它可能正在崩溃并重新启动,因此请检查其日志文件以查看导致崩溃的原因 .

  • 6

    确保运行 npm start 或运行该应用程序的脚本 .

  • -1

    由于路径在require调用中没有正确的大小写,我们得到了502,在这种情况下是文件名 . 代码在本地执行(在VS代码中),但在部署时不执行 .

    const repoName = require('../ data / reponame'); //这应该是repoName

相关问题