Ошибка nginx: connect () (111: соединение отклонено) при подключении к восходящему каналу

16

Я продолжаю видеть следующие сообщения об ошибках в журнале ошибок, я могу получить доступ ко всем ресурсам, но я не уверен, почему ошибка помечается.

ошибка:

[ошибка] 13368 # 0: * 449 ошибка connect () (111: соединение отклонено) при подключении к восходящему каналу, клиенту: xxxx, серверу: myserver.com, запрос: «GET / Stories / mine HTTP / 1.1», upstream: « 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";
    }
}
Tam2
источник
Это 2015 год, и у меня такая же проблема. каждый раз, когда сообщение websocket удаляется, эта ошибка появляется в журнале.
r3wt

Ответы:

19

Nginx подключается к nodjs по петле IPv6 [:: 1]. Возможно, nodejs просто прослушивает IPv4.

Попробуйте установить

upstream api {
    server 127.0.0.1:5000;
}
...
Кристофер Перрен
источник
Для тех, кто смущен, измените localhostна127.0.0.1
kouton
Любые идеи, если у меня есть 127.0.0.1 вместо localhost, и это продолжает происходить?
Кен,
3
Вы должны проверить, если служба прослушивает. Попробуйте sudo netstat -pantuи посмотрите, действительно ли служба прослушивает порт.
Кристофер Перрен,
1
@ChristopherPerrin спасибо за этот совет. Это помогло мне осознать, что один из моих пулов не прослушивал свой порт, и оказалось, что в другой конфигурации пула использовалось то же имя, что перезаписало его конфигурацию
Robbie Averill
@RobbieAverill приятно слышать, что этот ответ по-прежнему полезен
Кристофер Перрен