HTTPS über Proxy; Discourse versucht weiterhin, Dateien über HTTP abzurufen

Hallo! Ich habe gerade versucht, mein Discourse-Forum einzurichten. Als ich auf den Link in der E-Mail geklickt habe, habe ich einen Button gesehen, konnte ihn aber nicht drücken. Ich habe eine ganze Reihe von Fehlern gesehen, die anscheinend daher rühren, dass versucht wird, Dateien über HTTP zu laden. Das könnte daran liegen, dass ich nicht über Discourse, sondern über meinen Apache2-Webserver mit ProxyPass keine HTTPS-Verbindung nutze. Wie kann ich erreichen, dass die Dateien über HTTPS angefordert werden, ohne die HTTPS-Funktion von Discourse zu verwenden? (Oder sag mir bitte, wie ich meine bereits vorhandenen .crt- und .key-Dateien problemlos mit Discourse nutzen kann :wink:)

Hast du in Discourse die Erzwingung von HTTPS aktiviert?

Wie würde ich das machen? (ohne LetsEncrypt oder SSL über Discourse)
Würde ich einfach templates/web.ssl.template.yml auskommentieren und templates/web.letsencrypt.ssl.template.yml auskommentiert lassen? (Entschuldigung für die Frage, aber der Neuaufbau dauert so lange, daher möchte ich lieber sichergehen.)

Du musst lediglich zu den Einstellungen gehen und das Kontrollkästchen „Force HTTPS

Warte, welche Einstellungen? Wo zum Teufel finde ich ein Kontrollkästchen?

community.example.net/admin ist der Pfad, unter dem du dein Discourse-Admin-Panel findest.

Dafür benötige ich jedoch zuerst ein Konto in meinem Forum, das ich nicht erstellen kann, ohne das HTTPS-Problem zu beheben.

Sie können die Erzwingung von SSL über die Konsole aktivieren:

./launcher enter app
rails c
SiteSetting.force_https = true
exit
exit

Muss ich danach etwas neu aufbauen oder irgendwas anderes tun?
Edit: Ich habe neu aufgebaut. Ich bekomme immer noch denselben Fehler, dass einige Dateien weiterhin über HTTP geladen werden.

force_https wurde aus der Admin-Oberfläche entfernt, da es mehr Verwirrung stiftete als Nutzen brachte.

Da Discourse HTTPS jetzt standardmäßig aktiviert, muss es nur in Fällen wie diesem manuell aktiviert werden.

Es war für mich standardmäßig nicht aktiviert. Ich hatte Probleme mit dem Installationsskript, daher habe ich die app.yml bearbeitet. Ist das der Grund?

Machen Sie HTTP hinter dem Proxy, indem Sie die Vorlage für HTTPS deaktivieren?

Die beiden HTTPS-Vorlagen waren für mich standardmäßig deaktiviert. Discourse läuft auf den beiden Standardports auf Server 2. Ich verwende dann einen ProxyPass in einem Apache2-VHost (auf Server 1), in dem SSL konfiguriert ist. Mir ist gerade aufgefallen, dass ich HTTPS einfach über Discourse aktivieren kann. Da Discourse auf den Standardports läuft, kann ich community.website.tld einfach auf die IP-Adresse von Server 2 setzen. Wie gehe ich vor, um SSL zu aktivieren? Die beiden Vorlagen auskommentieren und dann die LetsEncrypt-E-Mail-Adresse eingeben? Außerdem: Wie erstelle ich ein Konto bei LetsEncrypt? Ich kann auf deren Website keine „Registrieren“-Schaltfläche finden.

Genau das: Aktiviere die Vorlage für HTTPS und Let’s Encrypt, stelle sicher, dass Port 443 freigegeben ist, und gib eine E-Mail-Adresse an, bevor du neu erstellst. Es gibt sehr wenige gute Gründe, Discourse hinter einem Proxy zu betreiben. Wenn es einen dedizierten Server und einen FQDN hat, ist es mit den oben genannten Schritten viel einfacher zu verwalten.

Aber welche E-Mail-Adresse muss ich dort angeben? Es heißt, es sei für ein LetsEncrypt-Konto. Muss ich also eines erstellen? Wo?

Einfach eine E-Mail-Adresse, um Benachrichtigungen zu erhalten. Sie müssen diese nicht im Voraus registrieren.

Ich habe gerade SSL und alles andere aktiviert, aber jetzt erhalte ich einen Cloudflare 502-Fehler.

Stellen Sie sicher, dass der Proxy den Header X-Forwarded-Proto ordnungsgemäß auf https setzt, was die HTTPS-Erkennung beheben sollte.

Schalten Sie Cloudflare vorerst ab. Wenn Sie nicht häufig angegriffen werden, verursacht es mehr Schaden als Nutzen.

Wenn die orange Wolke aktiviert ist, kann Discourse das Zertifikat von Let’s Encrypt nicht anmelden.

Das habe ich erledigt. HTTPS funktioniert jetzt, alles wird über HTTPS geladen, ABER:
Ich kann immer noch nicht auf den Button auf der Seite zur Kontoüberprüfung klicken.


In der Konsole gibt es ebenfalls einen Fehler und einige Warnungen: