Utiliser Discourse avec Cloudflare : Bonnes pratiques

J’espère que cela vous sera utile, mais j’ai également rédigé un guide général sur les meilleurs paramètres ici :

Un membre du personnel de Cloudflare a également ajouté quelques indications et corrections dans la section des commentaires.

Je suis en train de mettre à jour ce guide et j’essayais de voir s’il y avait de nouveaux conseils de la part de Discourse et j’ai trouvé cette page.

Je vais les ajouter à mes règles gérées. Merci !

Voici un aperçu de mes règles personnalisées. Cela a vraiment aidé à réduire le spam et souvent (pas toujours) une partie du trafic de la plus basse qualité provient des VPN et du trafic DC, ce qui a été aidé par celles-ci :

Je vais rédiger une note détaillée avec le contenu complet des règles. Je les exécute depuis environ 6 mois et je valide leur succès en utilisant l’outil Log Explorer et en inspectant 10k événements à la fois.

2 « J'aime »

J’essaie de comprendre l’intégration de Cloudflare en utilisant la version gratuite avant de l’utiliser sur un nouveau site Discourse. Quelqu’un peut-il développer ces points avec des détails/exemples ? Supposons que le site Discourse soit : ‘discourse.abc123.com

(1) Cloudflare semble supprimer les en-têtes de sécurité nginx d’origine que j’ai actuellement ?

(2) Je ne comprends pas ces commentaires : « Si vous décidez d’activer le CDN CloudFlare (nuage orange), vous devez prendre une étape supplémentaire et établir une règle de page pour l’adresse de votre instance Discourse. La règle doit « Désactiver les performances » (je ne vois pas cette option) ce qui désactivera les fonctionnalités de CloudFlare dont il est bien documenté qu’elles interfèrent avec Discourse. » ET Créez les règles de page suivantes à dash.cloudflare.com/?to=/:account/:zone/rules :

  • Définir le niveau de cache sur « Contourner » pour community.example.com/session/*

  • Configurer les paramètres des règles pour normaliser les URL entrantes

Aussi, y a-t-il d’autres pièges que je devrais gérer.

Merci d’avance.

J’utilise Cloudflare en mode proxy devant mon forum Discourse depuis l’été 2025 sans aucun problème ; il n’y a tout simplement pas énormément de choses spécifiques à Discourse que vous devez faire de nos jours pour que cela fonctionne correctement.

L’un des éléments les plus critiques est de s’assurer d’inclure le modèle Cloudflare dans votre fichier app.yml. Sans cela, vous ne verrez que les adresses IP des serveurs Cloudflare dans votre tableau de bord Discourse, au lieu des adresses IP réelles des visiteurs.

La règle « Contourner le cache pour /session/* » semble toujours nécessaire (définissez-la comme une règle de cache dans la nouvelle interface), et la règle « Ignorer le WAF lors de la création/modification de publications » est certainement toujours nécessaire (je l’ai configurée comme une règle gérée).

Comme j’utilise principalement Discourse comme système de commentaires pour un site Wordpress, j’ai configuré Wordpress pour qu’il ajoute une durée de vie (TTL) de 60 secondes aux réponses ajax pour /wp-json/wp-discourse/v1/discourse-comments?post_id=xxxx que le serveur web émet lorsque les visiteurs demandent le fil de commentaires d’une publication WP spécifique ; cela aide à gérer les schémas de visiteurs à forte variation. J’ai ajouté une règle de cache CF qui respecte la TTL sur les URI qui incluent /wp-json/wp-discourse/. (Je ne peux pas définir une TTL suffisamment courte sur ces URL via Cloudflare sans un compte Entreprise, donc je définis la TTL au niveau de l’application via un mu-plugin, puis j’indique à CF de respecter cette TTL via une règle de cache CF.)

Mis à part cela, et les paramètres de base mentionnés dans le premier message du fil, il n’y a pas grand-chose à faire : Cloudflare fonctionne très bien avec Discourse.

5 « J'aime »

Bonjour, j’ai installé ceci récemment et cela a été fait en 20 minutes.

J’utilise également le forfait gratuit de Cloudflare, et certains paramètres ont changé ; si vous utilisez la barre de recherche sur le tableau de bord Cloudflare, le nouvel emplacement apparaîtra. J’ai eu quelques problèmes pour trouver certains paramètres également.

Cela nécessite une reconstruction

2 « J'aime »

Je n’ai activé que le petit nuage jaune et n’ai effectué aucune opération ~ Je configurerai également lorsque j’aurai le temps pour voir l’effet.

J’ai terminé la note sur la configuration de Discourse + Cloudflare WAF que j’ai mentionnée plus tôt :

Elle couvre l’ensemble de la pile de règles personnalisées que j’utilise sur mon forum Discourse : règles de saut pour les actifs statiques et /message-bus, règles de blocage pour les scanners, défis ASN et géographiques, limitation de débit ajustée pour Discourse, et exceptions aux règles gérées.

J’ai également trouvé quelque chose qui nécessite une clarification dans l’expression de création/modification de publication du guide officiel (post creation/edit expression in the official guide) : l’opérateur regex matches nécessite le forfait Business. J’ai donc utilisé dans l’article une alternative starts_with qui fonctionne sur les forfaits Pro.

Testé sur un forum en direct avec du trafic réel. J’attends avec impatience toute suggestion, amélioration ou si quelqu’un rencontre des problèmes avec la configuration.

3 « J'aime »

Je voudrais savoir. Quelle est la différence entre ce mode de configuration et celui où seul le petit nuage jaune est activé, le reste restant par défaut. Merci.

1 « J'aime »

Excellente question. Avec seulement les paramètres par défaut du cloud orange, vous obtenez le DNS, le CDN, la protection DDoS et l’ensemble de règles gérées gratuit. C’est une base solide et Discourse fonctionnera très bien avec cela seul.

La raison pour laquelle beaucoup vont plus loin est souvent le SPAM, mais aussi le gaspillage de bande passante/ressources serveur, et la performance globale de vitesse/chargement des pages.

Concernant le SPAM, nous recevions de 5 à 10 messages de spam par semaine, et parfois c’était suffisamment incessant pour que je recherche activement des solutions ici, sur ces forums.

Depuis le déploiement de ces règles personnalisées, cela est tombé à peut-être 2 ou 3 par mois. Le principal problème restant est un ou deux trolls et fauteurs de troubles qui continuent de s’inscrire sous de nouveaux comptes lorsqu’ils sont détectés. Mais c’est un autre sujet ! La combinaison du blocage du trafic des centres de données et des VPN, du blocage du trafic Tor et des pays problématiques a fait une énorme différence.

Au-delà du spam, il y a le côté ressources d’hébergement. Savoir exactement à quoi servent vos ressources d’hébergement est très utile. C’est aussi bon pour Internet en général de ne pas alimenter le trafic automatisé/les bots.

Commencez par un hébergement solide et rapide sur un bon réseau, c’est le plus important. Ensuite, Cloudflare par-dessus garantit que les utilisateurs éloignés de votre serveur bénéficient toujours d’une expérience rapide. La couche de mise en cache aide même avec les paramètres par défaut, mais aller au-delà des paramètres par défaut continue d’améliorer à la fois les performances et la sécurité.

Par défaut, Cloudflare est livré avec des paramètres qui sont extrêmement sûrs à activer sans effets secondaires. Mais il existe de nombreux paramètres supplémentaires qui sont également sûrs à activer et qui ne sont tout simplement pas activés par défaut. Et les règles personnalisées doivent être personnalisées car Cloudflare n’offre aucun type d’assistant où vous sélectionnez « J’utilise Discourse » ou « J’utilise WordPress » et il construit des règles pour vous. Ce serait une excellente fonctionnalité, et j’ai l’intention de la suggérer lors de mon prochain appel avec eux.

Donc, cela dépend de ce que vous voulez. Si les paramètres par défaut fonctionnent et que le spam n’est pas un problème, vous n’avez peut-être pas besoin de tout cela.

Mais à mon humble avis, si vous voulez plus de contrôle sur ce qui atteint votre forum et que vous voulez tirer parti de chaque once de performance de votre installation, de la couche d’hébergement jusqu’au bord, les règles personnalisées en valent la peine.

2 « J'aime »