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

Я настраиваю сервер Mastodon на Docker в Ubuntu.

Сервер запущен и работает, но когда я пытаюсь получить доступ к сайту из браузера, я получаю сообщение об ошибке 502 Bad Gateway.

Глядя в журнал ошибок nginx, я вижу такие записи:

2020/07/01 06:47:59 [error] 11686#11686: *1 connect() failed (111:
Connection refused) while connecting to upstream, client:
27.33.64.244, server: www.canberrasocial.net, request: "GET / HTTP/2.0", upstream: 
http://127.0.0.1:3000/", host: "www.canberrasocial.net"

Я понятия не имею, откуда он получает "27.33.64.244" в приведенной выше строке, поскольку это не IP-адрес моего сервера, но я не знаю достаточно, чтобы понять, что это значит.

Nginx запущен и работает, и проверка моих портов показывает следующее:

Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      11684/nginx: master
tcp        0      0 127.0.0.53:53           0.0.0.0:*               LISTEN      510/systemd-resolve
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      631/sshd
tcp        0      0 0.0.0.0:443             0.0.0.0:*               LISTEN      11684/nginx: master
tcp        0      0 127.0.0.1:4000          0.0.0.0:*               LISTEN      19691/docker-proxy
tcp        0    340 45.76.124.78:22         27.33.64.244:60825      ESTABLISHED 25063/sshd: root@pt
tcp6       0      0 :::80                   :::*                    LISTEN      11684/nginx: master
tcp6       0      0 :::22                   :::*                    LISTEN      631/sshd
tcp6       0      0 :::443                  :::*                    LISTEN      11684/nginx: master

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

1 ответ

Прежде всего, "27.33.64.244" не является адресом вашего сервера, потому что это "клиентский" адрес (см. Журнал ошибок), который может быть "устройством", которое вы используете для подключения к вашему серверу.

Настоящая проблема заключается в том, что когда nginx пытается передать запрос вашему восходящему потоку на порт 3000, это не удается. Просто взглянув на ваши порты, я не вижу ни одного процесса, который прослушивает порт 3000, что может быть причиной того, что nginx не может передать запрос. Вы забыли запустить апстрим?

Я тоже новичок в nginx, извините, если я неправильно понял ваш вопрос.

Другие вопросы по тегам