Настройка
Запуск Ubuntu 18.04 на виртуальном частном сервере.Установленный Nginx (для работы в качестве прокси), обслуживающий приложение Nodejs с использованием PM2.
Проблема
Сработал месяц, теперь вдруг сервер возвращает 502:
2018/10/10 00:39:51 [ошибка] 1009 # 1009: * 19 Ошибка connect () (111: соединение отклонено) при подключении к восходящему каналу, клиенту: 176.104. --- .---, серверу: foo.bar.com, запрос: "GET / HTTP / 2.0", восходящий поток: "http://127.0.0.1:4000/", хост:" foo.bar.com "
2018/10/10 00:39:51 [ошибка] 1009 # 1009: * 19 нет прямых трансляций при подключении к апстриму, клиент: 176.104. --- .---, сервер: foo.bar.com, запрос: «GET /favicon.ico HTTP / 2.0», апстрим:"http://localhost/favicon.ico", хост:" foo.bar.com ", реферер:" https://foo.bar.com/"
2018/10/10 01:10:15 [ошибка] 1009 # 1009: * 24 connect () не удалось (111: соединение отклонено) при подключении к восходящему каналу, клиенту: 176.104. - .---, серверу: foo.bar.com, запрос: «GET / HTTP / 2.0», восходящий канал: «http://[::1]:4000/", host: "foo.bar.com"
2018/10/10 01:10:15 [error] 1009 # 1009: * Ошибка 24 connect () (111: соединение отклонено) при подключении к апстриму, клиент: 176.104. --- .---, сервер: foo.bar.com, запрос: «GET / HTTP / 2.0», апстрим: «http://127.0.0.1:4000/", host:» foo.bar.com "
2018/10/10 01:10:15 [ошибка] 1009 # 1009: * 24 нет прямых трансляций при подключении к апстриму, клиенту: 176.104. --- .---, серверу: foo.bar.com, запрос: "GET /favicon.ico HTTP / 2.0", восходящий поток: "http://localhost/favicon.ico", хост:" foo.bar.com ", реферер:" https://foo.bar.com/"
Конфиги:
Важно
Самое главное - этот конфиг работал отлично в течение месяца.Тогда это перестало работать.Это произошло, когда была загружена новая версия приложения.Откатился до предыдущей версии (полная копия всей системы).Но теперь даже предыдущая версия (которая работала) не работает с той же ошибкой.Итак, почесывая голову здесь.
Брандмауэр
sudo ufw status
Status: active
To Action From
-- ------ ----
**/tcp ALLOW ******
Nginx Full ALLOW Anywhere
Nginx Full (v6) ALLOW Anywhere (v6)
Обновление
Я попытался обслужить только статический HTML-файл, и это сработало.Я пытался обслуживать фиктивное приложение Expressjs, и оно работало.Таким образом, проблема, похоже, заключается в сгенерированном Angular server.js (Универсальный движок).