Ошибка 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, извините, если я неправильно понял ваш вопрос.