подключение () перестало работать (111: Соединение, которому отказывают) при соединении с восходящим потоком

Поскольку Вы можете se из предыдущих ответов, нет никакой нормы для этого. Существует однако Золотое правило Наименьшего количества Полномочий. Это просто означает Вас, пользователю нужно потребовать, чтобы минимальные права доступа сделали свое задание. Неудачно, что, особенно в мире Windows, который действительно означает, некоторые пользователи (например, программисты) требуют полных прав администратора.

Я предлагаю, чтобы Вы спросили рассматриваемого пользователя к документу, что это, он не может сделать как пользователь и видеть, может ли вопрос быть решен с чем-то меньшим чем полными правами администратора. Если они неспособны или не желают зарегистрировать проблемы, можно смочь представить случай управлению, что требование необоснованно и поэтому не требует никакого изменения. Конечно, как хорошо это понижается, часто зависит от того, кто подлизывается кто в Вашей конкретной организации.

85
задан 16 March 2019 в 08:23
9 ответов

Похоже на вас еще не запустили и не настроили бэкэнд для Nginx. Запустите php-fpm и добавьте следующее в nginx.conf в контексте http :

server {
    listen 127.0.0.1;
    server_name localhost;

    error_log /var/log/nginx/localhost.error_log info;

    root /var/www/localhost/htdocs;

    location ~ \.php$ {
        fastcgi_pass 127.0.0.1:9000;
        include /etc/nginx/conf.d/*.conf;
        include /etc/nginx/sites-enabled/*;

        fastcgi_intercept_errors        on;
        error_page 404 /error/404.php;
    }
}
44
ответ дан 28 November 2019 в 19:25

Этот ответ предназначен только для тех, кто получает такую ​​ошибку:

connect () не удалось (111: соединение отклонено) при подключении к восходящему потоку, клиенту .... fastcgi: // [:: 1]: 9000

Перепишите конфигурацию nginx, чтобы использовать ip, а не dns. Например, 127.0.0.1 вместо localhost или удалите псевдоним ipv6 из /etc/hosts.

48
ответ дан 28 November 2019 в 19:25

Также были такие ошибки. Проблема заключалась в том, что мой абстрактный бэкэнд ссылался на два сервера. php-fpm был только листингом для сокета ...

# Upstream to abstract backend connection(s) for php
upstream php {
        server unix:/var/run/php5-fpm.sock;
        #server 127.0.0.1:9000;
} 

server {
    [...]

    location ~ \.php$ {
            # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini

            # With php5-fpm:
            fastcgi_pass php;
            fastcgi_index index.php;
            fastcgi_intercept_errors on;
            include fastcgi_params;
    }
}
4
ответ дан 28 November 2019 в 19:25

У меня была та же проблема, и добавление оператора listen

listen 127.0.0.1;

сработало для меня.

Интересно, что у меня есть другие серверные блоки, которые вполне успешно работают и без этого!

-4
ответ дан 28 November 2019 в 19:25

В моем случае ошибка была неправильным местом для файла error_log для службы php5.6-fpm, и поэтому служба php-fpm не запускалась и ] nginx не смог подключиться к нему . Вы можете найти его в /etc/php/5.6/fpm/php.ini (вы можете заменить 5.6 на используемую вами версию).

0
ответ дан 28 November 2019 в 19:25

Было то же самое проблема с прокси-запросами к серверу узла, прослушивающему порт 5000. Запросы будут иметь результат 200 OK , но иногда 502 Bad Gateway случайным образом. NGINX показал ошибку:

connect() failed (111: Connection refused) while connecting to upstream, client: ..., server: ...

Мое решение:

  1. Установите HTTP-сервер узла на прослушивание строго для ipv4, включив localhost в качестве хоста: server.listen (5000, 'localhost');
  2. Удалены все директивы прослушивания ipv6 ( listen [::]: 80; или listen [::]: 443 ssl default_server; ).
  3. Изменен адрес proxy_pass блока расположения для использования IP-адресов: proxy_pass http://127.0.0.1:5000 (не proxy_pass http: / /localhost:5000 ).

Надеюсь, это кому-то поможет.

1
ответ дан 28 November 2019 в 19:25

Как раз сегодня я столкнулся с этой проблемой, и для меня это была проблема нехватки памяти во время периода высокой нагрузки. Таким образом, повышение уровня типа экземпляра устранило проблему.

-1
ответ дан 28 November 2019 в 19:25

На всякий случай, если кто-то отчаянно пытается решить свою проблему только для того, чтобы понять, что в их настройке обратного прокси все в порядке:

В моем случае ошибка сохранилась. даже после того, как я удалил все директивы location, кроме одной, которая предоставляет только статический контент.

Сообщение об ошибке было вызвано тем, что Nginx не удалось зарегистрировать свой журнал на сервере системного журнала:

access_log syslog:server=10.0.1.48:514,facility=local4,tag=nginx,severity=debug,nohostname main;

Обзор:

Если вы используете сервер журнала системного журнала, убедитесь, что он доступный. Чтобы проверить, не связана ли ошибка с настройкой ведения журнала, закомментируйте все конфигурации ведения журнала, чтобы Nginx вернулся к собственной схеме ведения журнала.

Я надеюсь, что это сэкономит некоторым людям время на отладку полностью корректной конфигурации обратного прокси, просто чтобы найти ошибку где-то еще: D

0
ответ дан 11 November 2020 в 07:32

Та же проблема возникла у меня, и, наконец, я обнаружил, что firewalld блокирует необходимые порты после установки, и я не открывал порты в брандмауэре ( порт 9000 в ваших логах).

0
ответ дан 14 March 2021 в 01:33

Теги

Похожие вопросы