Utiliser Discourse avec Cloudflare : Bonnes pratiques

Tant qu’à faire, je pense que tous les paramètres Réseau sont sans importance pour Discourse :

  • La compatibilité IPv6 ne peut plus être désactivée, et bien sûr Discourse ne dépend pas d’elle, mais peut parfaitement fonctionner sur un système IPv4 uniquement.
  • La géolocalisation IP ajoute l’en-tête CF-IPCountry aux requêtes, qui n’est cependant pas utilisé par Discourse. Il utilise sa propre fonctionnalité (facultative) MaxMind.
  • La journalisation des erreurs réseau ajoute l’en-tête de réponse Report-To, que les navigateurs peuvent utiliser pour signaler des erreurs. Il est cependant déprécié, et même si la fonctionnalité peut être activée avec tous les plans Cloudflare, l’élément du tableau de bord pour visualiser les rapports n’est disponible qu’avec le plan Entreprise. Donc, dans ce cas, pour certains anciens navigateurs, cela pourrait simplement être une régression de la confidentialité et une surcharge réseau.
  • Le routage Onion améliore la confidentialité des requêtes provenant du réseau Tor. Discourse ne s’en souciera pas et ne le saura même pas.
  • La fonctionnalité Pseudo IPv4 pourrait même être nécessaire si l’hôte exécute un logiciel, comme un ancien outil d’analyse ou similaire, qui ne prend en charge que les adresses IPv4. Les en-têtes proxy de Cloudflare, tels que Cf-Connecting-IP (ou d’autres, selon la configuration), peuvent alors être ajustés pour avoir une adresse IPv4 plus ou moins unique, au lieu de l’adresse IPv6 réelle du client, pour contourner le fait que le support IPv6 pour les requêtes client->Cloudflare ne peut plus être désactivé. Encore une fois, Discourse ne s’en souciera pas. Je veux dire que ce serait un problème pour, par exemple, la détection GeoIP, mais la fonctionnalité est désactivée par défaut, et les administrateurs ne devraient bien sûr l’activer que si elle est strictement requise par le logiciel qu’ils exécutent, en acceptant l’inconvénient de ne pas avoir les véritables adresses IP des clients. Elle peut également être configurée pour ajouter uniquement un nouvel en-tête avec l’adresse IPv4 pseudo, et les outils d’analyse (ou autre) peuvent alors réécrire les en-têtes d’IP client si nécessaire, tandis que les requêtes vers Discourse ne seraient pas affectées. Dans tous les cas, pour le fonctionnement général de Discourse, la fonctionnalité est sans importance.
  • L’en-tête True-Client-IP ajoute simplement cet en-tête en plus de CF-Connecting-IP et X-Forwarded-For. Discourse ne l’utilise pas, et le modèle de configuration de Discourse utilise également CF-Connecting-IP à la place. Il n’a donc aucun effet.
  • gRPC n’est pas utilisé par Discourse, mais avoir Cloudflare activé pour transférer les requêtes gRPC ne fait pas de mal non plus, tout comme avec WebSockets. Les deux peuvent être nécessaires pour d’autres logiciels exécutés sur le même domaine Cloudflare.
  • La taille maximale de téléchargement de 100 Mo est la valeur par défaut et minimale. Les tailles de téléchargement plus importantes nécessitent les plans Business ou Entreprise, et Discourse ne plantera pas si Cloudflare autorise des téléchargements plus importants.

La seule chose dont je ne suis pas sûr quant à son éventuel effet est la mise en mémoire tampon des réponses. Et je ne peux pas tester car il s’agit d’une fonctionnalité réservée aux entreprises. Mais je n’arrive pas à imaginer que le client se soucie de savoir si les paquets sont diffusés à partir du bord de CF au fur et à mesure qu’ils arrivent, ou s’ils sont envoyés en un seul bloc une fois terminés au bord. Pour les données mises en cache (mises en cache par Cloudflare, je veux dire), cela se fait toujours de toute façon, et cela ne cause pas de problèmes, du moins. Cette fonctionnalité n’affecte que les données non mises en cache.

Donc, en gros, je supprimerais toute la section “Paramètres réseau” comme étant sans importance pour le fonctionnement de Cloudflare, mais d’autres logiciels pourraient nécessiter certains paramètres ou les administrateurs pourraient les préférer d’une certaine manière, et devraient savoir que Discourse fonctionnera dans tous les cas.

1 « J'aime »