Hallo,
nach der Aktivierung von Lets Encrypt-Vorlagen und dem Neuaufbau von Discourse funktioniert nichts mehr:
NGINX gibt einen kryptischen Fehler aus:
Das Seltsame ist: Es gibt kein nginx-Verzeichnis in /ETC.
Diese Vorlagen sind aktiv:
Das sind die Einstellungen, mit denen die App neu aufgebaut wurde:
Was könnte der Grund für dieses Problem sein?
Ich denke, das Zertifikat sollte für den Hostnamen discourse.itas-karlsruhe.de ausgestellt werden.
Ich habe bereits mit dem Launcher überprüft, ob die App tatsächlich läuft … Ja, sie läuft …
I.
Benjamin_D
(Benjamin Decotte)
24. Oktober 2021 um 17:59
2
Du scheinst dich in deinem Home-Verzeichnis (~) zu befinden, wenn du cd etc ausführst. cd /etc/nginx sollte funktionieren.
1 „Gefällt mir“
Nein, ich habe es im richtigen Verzeichnis geprüft:
Wenn es sich um eine Standard-Docker-Installation handelt, müssen Sie zusätzlich in die App wechseln.
cd /var/discourse
./launcher enter app
Wenn dies erfolgreich ist, können Sie Zeile 46 der Konfigurationsdatei mit sed ausgeben:
sed -n '46p' /etc/nginx/conf.d/discourse.conf
Mit denselben Vorlagen wie bei Ihnen und ohne spezifische Änderungen an dieser Konfigurationsdatei sehe ich Folgendes:
return 301 https://discourse.softpress.com$request_uri;
1 „Gefällt mir“
Vielen Dank.
Ich habe Folgendes festgestellt:
Wie Sie sehen, ist das Feld „Discourse-Hostname" in der app.yml ausgefüllt:
Es sieht so aus, als würde der Hostname aus irgendeinem Grund nicht ersetzt werden, aber ich bin mir nicht sicher, warum das sein könnte. Hast du Discourse neu erstellt, indem du diese Befehle ausgeführt hast?
cd /var/discourse
./launcher rebuild app
Der einzige Unterschied, den ich zwischen deinem und meinem Setup erkennen kann, ist die Verwendung eines Bindestrichs im Domainnamen, aber ich wäre sehr überrascht, wenn das ein Problem verursachen würde.
Ja, so habe ich die App neu aufgebaut …
Nach dem Neuaufbau scheint alles zu funktionieren:
pfaffman
(Jay Pfaffman)
25. Oktober 2021 um 12:25
8
Wenn du mehrfach neu aufgebaut hast, hast du die Rate-Limits von Let’s Encrypt erreicht.
Auf dem Server gibt es kein nginx, da es sich im Discourse-Container befindet. Deshalb kannst du es nicht finden.
Du hast dein Problem also durch einen Neuaufbau gelöst?
Du solltest diesen Beitrag als Lösung markieren.
Ich habe lediglich gemeint, dass ich im Log keinen Fehler oder Ähnliches gefunden habe. (Siehe Screenshot)
Der Build-Prozess scheint in Ordnung zu sein …
Ich habe nun die finale Domain angefordert und werde die App damit neu erstellen.
Nachdem ich alle lets-encrypt-spezifischen Einstellungen entfernt und den ursprünglichen Hostnamen der VM verwendet habe, funktioniert alles. Ich weiß nicht, was mit diesen Einstellungen falsch ist.
Hallo Simon,
ich habe es erneut neu aufgebaut und festgestellt, dass das Zertifikat mit dem falschen Namen ausgestellt wurde:
Ist die app.yml möglicherweise falsch konfiguriert?
app.txt (4,1 KB)
Was meinst du damit?
Ich
IAmGav
(Gavin Perch)
27. Oktober 2021 um 22:46
11
Zeile 51
DISCOURSE_HOSTNAME: deinbalkonnetz.de
Das ist nicht deine Konfigurationsdatei. Woher hast du sie?
???
Es ist meine Konfigurationsdatei … Wir haben diese Domain auf unsere VM umgeleitet und ich versuche, Discourse auf diesem Server einzurichten …
IAmGav
(Gavin Perch)
27. Oktober 2021 um 22:54
13
Anschließend musst du überall in der Konfiguration deinbalkonnetz.de ändern.
Danach musst du die App neu erstellen.
Was meinst du mit „überall"?
Der Hostname wird nur in Zeile 51 verwendet …
Ich kenne keine anderen Konfigurationsdateien außer der app.yml …
Vielleicht hilft das weiter?
This guide explains how-to change the domain name of your Discourse site, and includes information about setting up DNS changes, editing configuration files, updating site settings, and correcting social logins and post content to reflect your new domain name.
This guide is for self-hosted Discourse instances that were installed using our installation guide on GitHub . If you are hosted by Discourse , please see Configure your domain name for hosted Discourse for specific …
1 „Gefällt mir“
Danke, Jammy,
das sind wichtige Punkte, keine Frage.
Das Problem ist, dass mein Hostname überhaupt nicht verwendet wird:
DISCOURSE_HOSTNAME: ‘deinbalkonnetz.de ’
Ich denke, anstelle des Variablennamens sollte der echte Hostname „deinbalkonnetz.de " im Zertifikat verwendet werden.
Könntest du http://deinbalkonnetz.de/ als zweite Domain in das LetsEncrypt-Zertifikat aufnehmen, um dies als mögliche Workaround-Lösung zu testen?
NOTE: @pfaffman says: This page needs to be cleaned up. There is now a new ENV setting that will let you add more hostnames. In your app.yml under your DISCOURSE_HOSTNAME line (it can go many places but that one makes sense), add
DISCOURSE_HOSTNAME_ALIASES: domain.com,other.domain.com
and early reports suggest that you’ll get valid certs for those domains and that accessing https://domain.com will properly redirect you to your DISCOURSE_HOSTNAME without a certificate error.
If you do that an…