nachdem ich meine Discourse-Seite auf 3.5.0.beta8-dev aktualisiert habe, erhalte ich plötzlich einen 521 „Webserver ist nicht erreichbar“-Fehler, wenn ich über Cloudflare auf die Seite zugreife. Dies ist unerwartet, da ich sie zuvor gemäß dieser Anleitung konfiguriert hatte und sie bis jetzt perfekt funktioniert hat.
Dann habe ich versucht, den SSL/TLS-Verschlüsselungsmodus in Cloudflare von Full (Strict) auf Flexible zu ändern, und die Seite wurde wieder geladen.
Weiß jemand, warum das nach dem Update passieren könnte?
Gibt es etwas Neues in 3.5.0.beta8-dev, das die Cloudflare-Kompatibilität oder die HTTPS-Handhabung beeinträchtigen könnte?
Jede Hilfe oder jeder Vorschlag wäre sehr willkommen!
Ich habe meine SSL-Einrichtung überprüft und verwende nicht Let’s Encrypt. Ich habe ein Origin-Zertifikat von Cloudflare generiert und den Schlüssel und das Zertifikat hier abgelegt:
Ich habe nach der Überprüfung einen vollständigen Rebuild durchgeführt. Aber ich erhalte immer noch einen 521-Fehler, wenn Cloudflare auf Full (Strict) eingestellt ist.
Hier ist der Vorlagenabschnitt aus meiner app.yml als Referenz:
templates:
- "templates/postgres.template.yml"
- "templates/redis.template.yml"
- "templates/web.template.yml"
- "templates/web.ratelimited.template.yml"
## Diese beiden Zeilen auskommentieren, wenn Sie Let's Encrypt (https) hinzufügen möchten
- "templates/web.ssl.template.yml"
# - "templates/web.letsencrypt.ssl.template.yml"
- "templates/cloudflare.template.yml"
expose:
- "80:80" # http
- "443:443" # https
Vielen Dank nochmals, dass Sie sich die Zeit nehmen, mir zu helfen!
Arbeitsweise aus dem Gedächtnis: Cloudflare-Zertifikate haben eine Laufzeit von 90 Tagen. Dies erfordert, dass Sie alle 3 Monate neue Zertifikate erstellen. Erinnern Sie sich, wie alt Ihre Zertifikate sind?
Die Standardeinstellung ist die Verwendung von Let’s Encrypt. Das System erneuert Ihre Zertifikate automatisch für Sie. Eine Sorge weniger, die Sie manuell verwalten müssen.
Dennoch habe ich zur Sicherheit versucht, ein neues Zertifikat zu generieren und das bestehende zu ersetzen, aber ich habe immer noch das gleiche Problem.
Wenn ich zum Standard-Setup mit Let’s Encrypt zurückkehren möchte, reicht es dann aus, wenn ich:
Ich habe noch nie den Übergang von privaten Zertifikaten zu Let’s Encrypt mit Discourse vollzogen, und damit einhergehend…
Innerhalb der app.yml müssen Sie an zwei Stellen die Auskommentierung aufheben:
Vorlage Zeile für - "templates/web.letsencrypt.ssl.template.yml"
Die Let’s Encrypt-Konto-E-Mail:
## Wenn Sie die Let's Encrypt-Vorlage hinzugefügt haben, kommentieren Sie unten aus, um ein kostenloses SSL-Zertifikat zu erhalten
LETSENCRYPT_ACCOUNT_EMAIL: <fügen Sie hier Ihre E-Mail-Adresse ein>
Wenn Sie andere manuelle Änderungen an Vorlagen für benutzerdefinierte SSL-Zertifikate vorgenommen haben, müssen diese zu den Standardeinstellungen zurückgesetzt werden.
Die Let’s Encrypt-Komponente befindet sich am Ende, wenn Sie die App neu erstellen. Achten Sie darauf und prüfen Sie, ob Sie Fehlercodes erhalten.