Не удается установить Discourse за Nginx-proxy-manager

Я попытался развернуть (локально, через хост гипервизора) виртуальную машину с Ubuntu Server 18.04 для запуска Discourse.

Проблема возникает, когда я пытаюсь перенаправлять трафик, идущий на домен domain.xyz, на адрес x.x.x.x, используя сертификаты, установленные/созданные локально в nginx-proxy-manager.

Установщик Discourse отказывается признавать, что порт 443 открыт. При проверке подлинности домена он каждый раз завершается ошибкой, указывая, что порт 443 недоступен, а порт 80 — доступен.

При самостоятельном тестировании в Chrome я получаю ошибку 502, что указывает на то, что веб-сервер не работает. Это странно. Похоже, он ищет какой-то файл или что-то подобное во время выполнения этого теста. ¯\_(ツ)_/¯

Я пытался вручную задать параметры конфигурации в app.yml, как описано в официальной документации для размещения его вместе с другими приложениями. Также пробовал ручную сборку через ./discourse-doctor, но снова безрезультатно. Docker-контейнер запускается, но в веб-браузере ничего не отображается (ошибка NGINX 502).

Что касается конфигурации обратного прокси-сервера NGINX, у меня нет многих опций. Всё основано на графическом интерфейсе, что упрощает процесс. В большинстве случаев другие сервисы, такие как Bitwarden, NextCloud и Restya, работали сразу из коробки, но Discourse ведёт себя очень привередливо, потому что, несмотря на все мои попытки, ничего не работает.

С точки зрения конфигурации я настроил это следующим образом:

Для SSL я использую сертификат, применяемый с сервера NGINX-Proxy поверх Discourse или любого другого приложения, которое я запускаю.

(Для уточнения: сервер обратного прокси — это ОТДЕЛЬНАЯ виртуальная машина, также работающая на Ubuntu 18.04 и Nginx-Proxy-Manager — решение для управления несколькими настройками обратного прокси-сервера NGINX.)

Если вы настраиваете обратный прокси, это полностью на вашей ответственности. Вам потребуется отредактировать app.yml соответствующим образом и выполнить команду ./launcher rebuild app.

Окей, разобрался.

Для пользователей вроде меня, у которых есть отдельная ВМ / хост / что-то ещё для запуска сервера NGINX, не нужно включать какие-либо специальные флаги или функции.

Просто укажите свой домен на ваш IP, настройте NGINX так, чтобы он маршрутизировал это имя хоста на ваш сервер Discourse, и всё должно просто заработать. (Обратите внимание: если вы используете SSL, настройте его соответствующим образом.)

Не могу поверить, что я потратил более 5 часов на это, перебирая и настраивая, только чтобы понять, что настройки по умолчанию работают отлично.