Voici notre scénario :
Notre discourse fonctionne sur une instance EC2 distincte de notre serveur principal. L’instance discourse crée son propre certificat serveur en utilisant Let’s Encrypt avec le mécanisme intégré.
Le serveur principal utilise l’API du serveur discourse en utilisant son DN public.
Le forum est un sous-domaine du site, c’est-à-dire “forum.[mondomaine].com”.
Cela fonctionne très bien.
Maintenant, nous avons placé l’ensemble du site derrière Cloudflare.
Le forum lui-même fonctionne très bien lorsqu’il est accédé via un navigateur.
Cependant, lorsque le site principal tente d’atteindre l’instance Discourse via un appel API, il reçoit maintenant une erreur 403.
J’ai déjà essayé toutes les étapes listées ici : Utiliser Discourse avec Cloudflare : Bonnes pratiques - Documentation / Auto-hébergement - Discourse Meta y compris la désactivation de la vérification d’intégrité du navigateur pour forum.[mondomaine].com/u/by-external/* mais sans succès.
Le réglage SSL dans Cloudflare est défini sur “Full”. “Full (Strict)” n’est pas utilisé, cela fonctionnerait aussi, mais cela pose des problèmes avec les pages d’erreur de secours si le site est en panne, donc je préférerais continuer à utiliser “Full”.
Je n’ai aucune idée pourquoi l’appel API échouerait avec 403 et je n’ai aucune idée comment résoudre ce problème. Pour l’instant, j’ai désactivé le proxy pour forum.[mondomaine].com comme solution de contournement, ce qui résout le problème, mais bien sûr, cela signifie que Discourse n’est pas mis en cache ou protégé par Cloudflare.
Des idées sur ce qui pourrait clocher ?