Utilisation de Discourse avec Cloudflare
Ce guide explique comment configurer et utiliser Discourse avec Cloudflare, y compris les meilleures pratiques de sécurité et les conseils de dépannage.
Niveau d’utilisateur requis : Administrateur
L’accès à la console est requis pour les installations auto-hébergées
Sommaire
Cloudflare peut améliorer votre instance Discourse avec des performances optimisées grâce au CDN, des couches de sécurité supplémentaires comme la protection DDoS et la prise en charge HTTPS. Ce guide couvre le processus de configuration et les meilleures pratiques pour une configuration optimale.
Pourquoi utiliser Cloudflare avec Discourse
L’utilisation de Cloudflare avec votre instance Discourse offre plusieurs avantages clés :
- Performance : Le CDN de Cloudflare peut améliorer l’accès mondial aux ressources courantes, améliorant l’expérience utilisateur à l’échelle mondiale (source)
- Sécurité : Couches de protection supplémentaires incluant :
- Protection DDoS (source)
- Prise en charge HTTPS (source) (alternative à la configuration Let’s Encrypt de Discourse)
Pour les installations auto-hébergées, bien que Cloudflare offre ces avantages, cela ajoute de la complexité à votre configuration.
Configuration de Cloudflare
- Familiarisez-vous avec les Fondamentaux de Cloudflare
- Suivez les instructions de configuration pour configurer Cloudflare pour votre domaine et obtenir les avantages en matière de sécurité, de performance et de fiabilité
Meilleures pratiques de configuration
Paramètres DNS
- Assurez-vous que les enregistrements DNS pointant vers votre instance Discourse sont proxifiés
- Accédez aux paramètres DNS à l’adresse
dash.cloudflare.com/?to=/:account/:zone/dns
Configuration SSL/TLS
- Définissez le mode de chiffrement sur « Full (strict) »
- Accédez aux paramètres SSL/TLS à l’adresse
dash.cloudflare.com/?to=/:account/:zone/ssl-tls
Une configuration SSL/TLS incorrecte peut provoquer des boucles de redirection
Configuration de la mise en cache
- Définissez le niveau de mise en cache sur « Standard »
- Accédez aux paramètres de mise en cache à l’adresse
dash.cloudflare.com/?to=/:account/:zone/caching/configuration
Règles de cache
Cloudflare a déprécié les Règles de page au profit de son système moderne de Règles. Créez ce qui suit en utilisant les Règles de cache à l’adresse dash.cloudflare.com/?to=/:account/:zone/rules :
- Définissez le niveau de cache sur « Contourner » pour
community.example.com/session/* - Configurez les paramètres de normalisation des URL pour normaliser les URL entrantes
Paramètres réseau
Les paramètres réseau à l’adresse dash.cloudflare.com/?to=/:account/:zone/network n’affectent généralement pas la fonctionnalité de Discourse. Discourse n’utilise pas WebSockets, gRPC ou les en-têtes CF-IPCountry / True-Client-IP. Ces paramètres peuvent être laissés à leurs valeurs par défaut, sauf si d’autres logiciels sur le même domaine nécessitent une configuration spécifique.
Paramètres WAF (Web Application Firewall)
Si votre forfait Cloudflare prend en charge les Règles gérées, créez ce qui suit :
- Ignorer le WAF lors de la création/modification de publications :
(starts_with(http.request.uri.path, "/posts") and http.request.method in {"POST" "PUT"})
- Pour les utilisateurs du plugin Data Explorer, ignorer le WAF lors des requêtes d’administration :
((http.request.uri.path contains "/admin/plugins/explorer/queries/" or http.request.uri.path contains "/admin/plugins/discourse-data-explorer/queries/") and http.request.method eq "PUT")
Pour les deux règles :
- Choisissez « Ignorer toutes les règles restantes »
- Activez « Journaliser les requêtes correspondantes »
Si vous disposez d’un forfait Business ou supérieur, vous pouvez utiliser l’opérateur regex
matchespour une correspondance plus précise. Les opérateursstarts_withetcontainsutilisés ci-dessus fonctionnent sur tous les forfaits, y compris Gratuit et Pro.
Accédez aux paramètres WAF à l’adresse dash.cloudflare.com/?to=/:account/:zone/firewall/managed-rules
Optimisation du contenu
Configurez ce qui suit à l’adresse dash.cloudflare.com/?to=/:account/:zone/speed/optimization :
- Activez Brotli
- Désactivez Rocket Loader™
Discourse reçoit fréquemment des rapports de site inaccessible en raison de l’activation de Rocket Loader™
Configuration supplémentaire pour les installations auto-hébergées
Pour assurer un transfert d’adresse IP correct, ajoutez ce qui suit à la section des modèles dans votre containers/app.yml :
- "templates/cloudflare.template.yml"
Après avoir ajouté le modèle, vous devez reconstruire votre conteneur avec
./launcher rebuild apppour que les modifications prennent effet.
Connexe : Comment configurez-vous Cloudflare ?
Ressources de support
Dépannage
Problèmes de Content Security Policy (CSP)
Si vous rencontrez des erreurs CSP :
- Vérifiez que Rocket Loader est désactivé
- Vérifiez que les scripts sont correctement ajoutés au paramètre de site
content security policy script src
Fonctionnalité OneBox
Si OneBox est bloqué :
- Vérifiez si le mode Super Bot Fight est activé
- Ajustez le paramètre « Définitivement automatisé » s’il est défini sur « Géré » ou « Bloquer »
- Envisagez de créer une règle WAF personnalisée pour l’agent utilisateur OneBox



