Ich verschiebe eine bestehende Discourse-Installation auf einen neuen Server, und die erste Stufe davon ist eine frische Discourse-Installation auf dem neuen Server. Der neue Server hat bereits einen Webserver auf den Ports 80 und 443, daher betreibe ich Discourse als Unix-Socket hinter einem Reverse-Proxy, wie hier beschrieben.
Das Einzige, was ich anders mache, ist, dass ich nicht nginx, sondern OpenLiteSpeed als Reverse-Proxy verwende. Die Konfiguration für OpenLiteSpeed ist jedoch ziemlich einfach und ich habe sie mit anderen Docker-Apps zum Laufen gebracht: Sie müssen lediglich eine externe Anwendung mit der Socket-Adresse konfigurieren und dann alle Anfragen so umschreiben, dass sie über einen Proxy-Kontext an den Socket gehen.
Das Ergebnis ist, dass Discourse geladen wird, wenn Sie die proxied URL (in diesem Fall forum.prostasia.org) aufrufen, aber es zeigt nur den Ladebildschirm mit den animierten Punkten an und bleibt dort stecken.
Irgendwelche Vorschläge zur Fehlerbehebung? Danke!
Danke, das hat geholfen. Ich sehe viele dieser Fehler:
Refused to load the script x because it violates the following Content Security Policy directive:
Als ich einen anderen Docker-Container vor denselben Reverse-Proxy stellte, konnte ich das Problem lösen, indem ich die Umgebungsvariable TRUSTED_PROXIES auf ** setzte.
Es wäre einen Versuch wert, dasselbe zu tun, aber wie würde ich das mit Discourse machen?
Es versucht auch, die Logos von http://www.example.com/ abzurufen, was vielleicht verrät, wo die Probleme liegen. Das ist anscheinend der Hostname, den Ihr Formular verwendet…
Danke. Ehrlich gesagt weiß ich nicht, woher example.com stammt. Da das Installationsskript discourse-setup für diesen Anwendungsfall nicht funktioniert, habe ich lediglich containers/app.yml bearbeitet und dann launcher rebuild app ausgeführt. Ich vermute, dabei wurde irgendwo ein example.com überschrieben.
Aber trotzdem habe ich mein Setup repariert. Anstatt eine Neuinstallation zu starten und mein Backup wiederherzustellen, habe ich ein Tarball des gesamten /var/discourse-Verzeichnisses von meinem ursprünglichen Server erstellt, darüber einen Rebuild durchgeführt und siehe da … alles scheint zu funktionieren. So werde ich zukünftig ein Backup wiederherstellen.