Utilizzo di Discourse con Cloudflare
Questa guida spiega come configurare e utilizzare Discourse con Cloudflare, incluse le best practice di sicurezza e i suggerimenti per la risoluzione dei problemi.
Livello utente richiesto: Amministratore
È richiesto l’accesso alla console per le installazioni self-hosted
Riepilogo
Cloudflare può migliorare la tua istanza Discourse con prestazioni migliorate tramite CDN, livelli di sicurezza aggiuntivi come la protezione DDoS e il supporto HTTPS. Questa guida copre il processo di configurazione e le best practice per una configurazione ottimale.
Perché usare Cloudflare con Discourse
L’utilizzo di Cloudflare con la tua istanza Discourse offre diversi vantaggi chiave:
- Prestazioni: la CDN di Cloudflare può migliorare l’accesso globale agli asset comuni, migliorando l’esperienza utente a livello globale (fonte)
- Sicurezza: livelli di protezione aggiuntivi tra cui:
- Protezione DDoS (fonte)
- Supporto HTTPS (fonte) (alternativa alla configurazione Let’s Encrypt di Discourse)
Per le installazioni self-hosted, sebbene Cloudflare offra questi vantaggi, aggiunge complessità alla tua configurazione.
Configurazione di Cloudflare
- Familiarizza con i Fondamenti di Cloudflare
- Segui le istruzioni di configurazione per configurare Cloudflare per il tuo dominio e ottenere i benefici di sicurezza, prestazioni e affidabilità
Best practice di configurazione
Impostazioni DNS
- Assicurati che i record DNS che puntano alla tua istanza Discourse siano proxati
- Accedi alle impostazioni DNS su
dash.cloudflare.com/?to=/:account/:zone/dns
Configurazione SSL/TLS
- Imposta la modalità di crittografia su “Full (strict)”
- Accedi alle impostazioni SSL/TLS su
dash.cloudflare.com/?to=/:account/:zone/ssl-tls
Una configurazione SSL/TLS errata può causare loop di reindirizzamento
Configurazione della cache
- Imposta il livello di cache su “Standard”
- Accedi alle impostazioni di cache su
dash.cloudflare.com/?to=/:account/:zone/caching/configuration
Regole di pagina
Crea le seguenti regole di pagina su dash.cloudflare.com/?to=/:account/:zone/rules:
- Imposta il Livello di Cache su “Bypass” per
community.example.com/session/* - Configura le Impostazioni delle Regole per normalizzare gli URL in entrata
Impostazioni di rete
Configura quanto segue su dash.cloudflare.com/?to=/:account/:zone/network:
Abilita:
- Compatibilità IPv6
- Geolocalizzazione IP
- Registrazione errori di rete
- Routing Onion
Disabilita:
- Pseudo IPv4
- Buffering delle risposte
- Intestazione True-Client-IP
- gRPC
Imposta la Dimensione Massima di Upload in base alla policy del tuo sito (si consigliano 100 MB)
Impostazioni WAF (Web Application Firewall)
Se il tuo piano Cloudflare supporta le Regole Gestite, creane le seguenti:
- Salta WAF durante la creazione/modifica di post:
(http.request.uri.path eq "/posts(/[0-9]+)?" and http.request.method in {"POST" "PUT"}) - Per gli utenti del plugin Data Explorer, salta WAF sulle query di amministrazione:
(http.request.uri.path contains "/admin/plugins/explorer/queries/" and http.request.method eq "PUT")
Per entrambe le regole:
- Scegli “Salta tutte le regole rimanenti”
- Abilita “Registra le richieste corrispondenti”
Accedi alle impostazioni WAF su dash.cloudflare.com/?to=/:account/:zone/firewall/managed-rules
Ottimizzazione dei contenuti
Configura quanto segue su dash.cloudflare.com/?to=/:account/:zone/speed/optimization:
- Abilita Brotli
- Disabilita Rocket Loader™
- Disabilita Auto Minify
Discourse riceve frequentemente segnalazioni di sito non disponibile a causa dell’abilitazione di Rocket Loader™
Configurazione aggiuntiva per installazioni self-hosted
Per garantire l’inoltro corretto dell’indirizzo IP, aggiungi quanto segue alla sezione dei template nel tuo containers/app.yml:
- "templates/cloudflare.template.yml"
Correlato: Come si configura Cloudflare?
Risorse di supporto
Risoluzione dei problemi
Problemi di Content Security Policy (CSP)
Se riscontri errori CSP:
- Verifica che Rocket Loader sia disabilitato
- Controlla che gli script siano aggiunti correttamente all’impostazione del sito
content security policy script src
Funzionalità OneBox
Se OneBox viene bloccato:
- Verifica se Super Bot Fight Mode è abilitato
- Regola l’impostazione “Definitely automated” se è impostata su “Managed” o “Block”
- Considera la creazione di una regola WAF personalizzata per lo user agent di OneBox



