nginx: не вдалося підключити () (підключення відмовлено) під час підключення до висхідного потоку


16

Я продовжую бачити наведене нижче повідомлення про помилку в журналі помилок, я можу отримати доступ до всіх ресурсів, але я не впевнений, чому помилка позначається.

помилка:

[помилка] 13368 # 0: * 449 connect () не вдалося (111: з'єднання відмовлено) під час підключення до upstream, клієнт: xxxx, сервер: myserver.com, запит: "GET / stories / mine HTTP / 1.1", upstream: " http: // [:: 1]: 5000 / історії / моє ", хост:" 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";
    }
}

Настав 2015 рік, і у мене є ця ж проблема. щоразу, коли повідомлення веб-сокета випадає, ця помилка з’являється в журналі.
r3wt

Відповіді:


19

Nginx підключається до nodjs в циклі IPv6 [:: 1]. nodejs, мабуть, просто слухає на IPv4.

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

upstream api {
    server 127.0.0.1:5000;
}
...

Для тих, хто плутається, перейдіть localhostна127.0.0.1
Кутон

Будь-які ідеї, якщо у мене 127.0.0.1 замість localhost, і це триває?
Кен

3
Ви повинні перевірити, чи слухає послуга. Спробуйте sudo netstat -pantuі подивіться, чи сервіс насправді слухає на порту.
Крістофер Перрін

1
@ChristopherPerrin дякую за цю пораду. Це допомогло мені зрозуміти, що один з моїх пулів не слухав його порт, і виявилося, що інша конфігурація пулу повторно використовувала те саме ім'я, щоб перезаписати його конфігурацію
Robbie Averill

@RobbieAverill приємно почути, що ця відповідь все ще корисна
Крістофер Перрін
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.