nginx:connect() 连接到上游时失败(111:连接被拒绝)

Tam*_*am2 18 nginx node.js

我一直在错误日志中看到以下错误消息,我可以访问所有资源,但我不确定错误标记的原因。

错误:

[错误] 13368#0:*449 connect() 失败(111:连接被拒绝),同时连接到上游,客户端:xxxx,服务器:myserver.com,请求:“GET /stories/mine HTTP/1.1”,上游:“ http://[::1]:5000/stories/mine ”,主机:“myserver.com”

我的 Nginx 配置

我正在将连接传递到node.js在端口 5000 上运行的集群。看不到我会错过什么?

upstream api {
    server localhost:5000;
}

server {
    listen 80; 
    server_name myserver.com;
    root /home/user/_api;


# Logging 

error_log /home/user/log/api.error.log notice;
    location / {
        proxy_redirect off;
        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_set_header   Connection "";
        proxy_cache one;
        proxy_cache_key sfs$request_uri$scheme;
        proxy_pass         http://api;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
    }
}
Run Code Online (Sandbox Code Playgroud)

Chr*_*rin 21

Nginx 在 IPv6 环回 [::1] 上连接到 nodjs。nodejs 可能只是在监听 IPv4。

尝试设置

upstream api {
    server 127.0.0.1:5000;
}
...
Run Code Online (Sandbox Code Playgroud)

  • 您应该检查服务是否正在侦听。试试 `sudo netstat -pantu` 看看服务是否真的在监听端口。 (3认同)