Verwendung von Discourse mit Cloudflare
Diese Anleitung erklärt, wie Sie Discourse mit Cloudflare konfigurieren und verwenden, einschließlich bewährter Sicherheitspraktiken und Tipps zur Fehlerbehebung.
Erforderliches Benutzerniveau: Administrator
Für selbst gehostete Installationen ist Konsolenzugriff erforderlich
Zusammenfassung
Cloudflare kann Ihre Discourse-Instanz durch CDN-gestützte verbesserte Leistung, zusätzliche Sicherheitsebenen wie DDoS-Schutz und HTTPS-Unterstützung aufwerten. Diese Anleitung behandelt den Einrichtungsprozess und bewährte Praktiken für eine optimale Konfiguration.
Warum Cloudflare mit Discourse verwenden?
Die Verwendung von Cloudflare mit Ihrer Discourse-Instanz bietet mehrere wichtige Vorteile:
- Leistung: Das CDN von Cloudflare kann den weltweiten Zugriff auf gängige Assets verbessern und die Benutzererfahrung global verbessern (Quelle).
- Sicherheit: Zusätzliche Schutzebenen, einschließlich:
- DDoS-Schutz (Quelle)
- HTTPS-Unterstützung (Quelle) (Alternative zur Let’s Encrypt-Einrichtung von Discourse)
Bei selbst gehosteten Installationen fügt Cloudflare zwar diese Vorteile hinzu, erhöht aber die Komplexität Ihrer Einrichtung.
Cloudflare einrichten
- Machen Sie sich mit den Cloudflare Fundamentals vertraut.
- Folgen Sie den Einrichtungsanweisungen, um Cloudflare für Ihre Domain zu konfigurieren und die Sicherheits-, Leistungs- und Zuverlässigkeitsvorteile zu nutzen.
Konfiguration Best Practices
DNS-Einstellungen
- Stellen Sie sicher, dass DNS-Einträge, die auf Ihre Discourse-Instanz verweisen, weitergeleitet werden.
- Greifen Sie auf die DNS-Einstellungen unter
dash.cloudflare.com/?to=/:account/:zone/dnszu.
SSL/TLS-Konfiguration
- Stellen Sie den Verschlüsselungsmodus auf “Full (strict)” ein.
- Greifen Sie auf die SSL/TLS-Einstellungen unter
dash.cloudflare.com/?to=/:account/:zone/ssl-tlszu.
Eine falsche SSL/TLS-Konfiguration kann zu Weiterleitungsschleifen führen.
Caching-Konfiguration
- Stellen Sie die Caching-Stufe auf “Standard” ein.
- Greifen Sie auf die Caching-Einstellungen unter
dash.cloudflare.com/?to=/:account/:zone/caching/configurationzu.
Seitenregeln
Erstellen Sie die folgenden Seitenregeln unter dash.cloudflare.com/?to=/:account/:zone/rules:
- Stellen Sie die Caching-Stufe für
community.example.com/session/*auf “Bypass”. - Konfigurieren Sie die Regeln-Einstellungen, um eingehende URLs zu normalisieren.
Netzwerkeinstellungen
Konfigurieren Sie die folgenden Einstellungen unter dash.cloudflare.com/?to=/:account/:zone/network:
Aktivieren:
- IPv6-Kompatibilität
- IP-Geolokalisierung
- Network Error Logging
- Onion Routing
Deaktivieren:
- Pseudo-IPv4
- Response Buffering
- True-Client-IP Header
- gRPC
Stellen Sie die maximale Upload-Größe gemäß Ihrer Website-Richtlinie ein (100 MB empfohlen).
WAF (Web Application Firewall)-Einstellungen
Wenn Ihr Cloudflare-Plan Managed Rules unterstützt, erstellen Sie Folgendes:
- WAF bei der Erstellung/Bearbeitung von Beiträgen überspringen:
(http.request.uri.path eq "/posts(/[0-9]+)?" and http.request.method in {"POST" "PUT"}) - Für Benutzer des Data Explorer-Plugins: WAF bei Admin-Abfragen überspringen:
(http.request.uri.path contains "/admin/plugins/explorer/queries/" and http.request.method eq "PUT")
Für beide Regeln:
- Wählen Sie “Alle verbleibenden Regeln überspringen”.
- Aktivieren Sie “Anfragen mit Übereinstimmung protokollieren”.
Greifen Sie auf die WAF-Einstellungen unter dash.cloudflare.com/?to=/:account/:zone/firewall/managed-rules zu.
Inhaltsoptimierung
Konfigurieren Sie die folgenden Einstellungen unter dash.cloudflare.com/?to=/:account/:zone/speed/optimization:
- Brotli aktivieren
- Rocket Loader™ deaktivieren
- Auto Minify deaktivieren
Discourse meldet häufig Berichte über nicht erreichbare Websites, da Rocket Loader™ aktiviert ist.
Zusätzliche Konfiguration für selbst gehostete Installationen
Um die korrekte Weiterleitung von IP-Adressen sicherzustellen, fügen Sie Folgendes zum Abschnitt “templates” in Ihrer containers/app.yml hinzu:
- "templates/cloudflare.template.yml"
Verwandt: Wie richtet man Cloudflare ein?
Support-Ressourcen
Fehlerbehebung
Content Security Policy (CSP)-Probleme
Wenn CSP-Fehler auftreten:
- Stellen Sie sicher, dass Rocket Loader deaktiviert ist.
- Überprüfen Sie, ob Skripte korrekt zur Website-Einstellung
content security policy script srchinzugefügt wurden.
OneBox-Funktionalität
Wenn OneBox blockiert wird:
- Prüfen Sie, ob Super Bot Fight Mode aktiviert ist.
- Passen Sie die Einstellung “Definitely automated” an, wenn sie auf “Managed” oder “Block” gesetzt ist.
- Erwägen Sie die Erstellung einer benutzerdefinierten WAF-Regel für den OneBox-User-Agent.



