Cloudflare 521-Fehler nach Discourse-Upgrade auf 3.5.0.beta8-dev

Hallo zusammen,

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!

Vielen Dank im Voraus!

Ich verwende 3.5.0.beta8-dev mit Full (strict) SSL mit Cloudflare und habe keine Probleme.

Ein paar Dinge zum Überprüfen:

  • Überprüfen Sie Ihr Let’s Encrypt - Überprüfen Sie Ihr Upgrade-Protokoll und stellen Sie sicher, dass alles korrekt neu erstellt wurde.
  • Suchen Sie nach Änderungen an externen Firewalls (DigitalOcean stellt externe Firewalls bereit)

Die 521 und der Wechsel zu Flexible deuten darauf hin, dass Ihr Server nicht mit HTTPS eingerichtet ist.

Vielen Dank für die Vorschläge! @LotusJeff

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.

Cloudflare bietet jetzt Zertifikate an, die bis zu 15 Jahre gültig sind. Mein Zertifikat ist noch innerhalb der Gültigkeitsdauer.

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:

  1. Diese Zeile in app.yml auskommentiere:
- "templates/web.letsencrypt.ssl.template.yml"
  1. Und den SSL-Modus von Cloudflare auf Full setze?

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:

  1. Vorlage Zeile für - "templates/web.letsencrypt.ssl.template.yml"
  2. 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.

1 „Gefällt mir“

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.