Wie installiere ich Discourse mit Nginx als Proxy auf einem bestimmten Pfad?

Hallo. Ich konnte Discourse erfolgreich auf meiner Linux-Maschine installieren und ausführen, wobei Nginx als SSL-Terminator mit der Direktive proxy_pass verwendet wurde.

Das Problem ist, dass dies nur unter discourse.example.com funktioniert hat, und ich möchte erreichen, dass es unter example.com/discourse läuft. Ich habe versucht, DISCOURSE_HOSTNAME zu ändern und dort direkt einzutragen, aber das Ergebnis war eine Standardseite mit der Meldung „Ops, Seite nicht gefunden

Folgen Sie Serve Discourse from a subfolder (path prefix) instead of a subdomain

3 „Gefällt mir“

Haben Sie sich Subordner-Unterstützung mit Docker oder Discourse in einem Subordner, mehrere Server teilen sich eine Domain angesehen?

1 „Gefällt mir“

Ok, ‘subfolder’ ist hier das Stichwort. Das hätte ich nie vermutet, danke!

Übrigens geht dieses Dokument davon aus, dass ich das gebündelte nginx verwende und nicht mein eigenes, aber ich nehme an, ich muss meine Konfiguration entsprechend anpassen (insbesondere die Zeile rewrite).

Sie werden sowohl Ihren externen Nginx als auch einen internen Nginx verwenden, der sich innerhalb des Discourse-Docker-Containers befindet.

Richtig. Anfangs dachte ich, ich verwende keinen internen httpd, da ich keine Ports öffne, aber – wie dumm von mir – ich verwende trotzdem einen Socket, der mit etwas verbunden sein muss.

Muss ich also bei beiden Rewrite verwenden?