Discourse lässt sich nicht hinter Nginx-proxy-manager installieren

Ich habe versucht, eine VM mit Ubuntu Server 18.04 lokal über einen Hypervisor-Host bereitzustellen, um Discourse auszuführen.

Das Problem besteht darin, dass ich versuche, den Datenverkehr von domain.xyz an die Adresse x.x.x.x weiterzuleiten und dabei Zertifikate verwende, die lokal auf nginx-proxy-manager installiert/erstellt wurden.

Der Installer (für Discourse) weigert sich anzuerkennen, dass Port 443 offen ist. Beim Überprüfen der Authentizität der Domain schlägt er jedes Mal fehl und gibt an, dass 443 nicht erreichbar ist, während 80 erreichbar ist.

Beim eigenen Testen erhalte ich über Chrome Fehler 502, was darauf hindeutet, dass der Webserver DOWN ist. Das ist seltsam. Er muss beim Testlauf nach einer Datei oder ähnlichem suchen. ¯\_(ツ)_/¯

Ich habe versucht, Konfigurationsoptionen in app.yml manuell so einzustellen, wie es in der offiziellen Dokumentation für den Betrieb neben anderen Anwendungen beschrieben ist. Außerdem habe ich versucht, manuell über ./discourse-doctor zu bauen, aber wieder ohne Erfolg. Der Docker-Container startet, aber im Webbrowser wird nichts angezeigt (NGINX Fehler 502).

Hinsichtlich der Konfiguration des NGINX-Reverse-Proxys habe ich nicht viele Optionen. Es ist alles GUI-basiert, was den Prozess vereinfacht. In den meisten Fällen haben andere Dienste wie Bitwarden, NextCloud und Restya sofort funktioniert, aber Discourse ist irgendwie sehr wählerisch, denn egal was ich versuche, nichts scheint zu funktionieren.

Konfigurationstechnisch habe ich es wie folgt eingerichtet:

Für SSL verwende ich ein Zertifikat, das vom NGINX-Proxy-Server über Discourse oder der jeweiligen Anwendung angewendet wird.

(Zur Klarstellung: Der Reverse-Proxy-Server ist eine SEPARATE VM, die ebenfalls Ubuntu 18.04 und Nginx-Proxy-Manager ausführt, eine Lösung zur Verwaltung mehrerer NGINX-Reverse-Proxy-Setups.)

Wenn du einen Reverse-Proxy verwendest, bist du auf dich selbst gestellt. Du musst die Datei app.yml entsprechend bearbeiten und dann ./launcher rebuild app ausführen.

OK, ich habe es herausgefunden.

Für Nutzer wie mich, die eine separate VM, einen Host oder Ähnliches für ihren NGINX-Server verwenden, müssen keine benutzerdefinierten Flags oder Funktionen aktiviert werden.

Richten Sie einfach Ihre Domain auf Ihre IP-Adresse, konfigurieren Sie NGINX so, dass es diesen Hostnamen an Ihren Discourse-Server weiterleitet, und es sollte einfach funktionieren. (Achten Sie darauf, dass Sie SSL verwenden, und konfigurieren Sie es entsprechend.)

Ich kann es kaum glauben, dass ich mehr als 5 Stunden damit verbracht habe, herumzubasteln, nur um festzustellen, dass die Standardeinstellungen völlig in Ordnung waren.