Erreur CSFR lors de la connexion derrière HA Proxy

Salut les gars, j’espère que c’est la bonne section pour demander de l’aide à ce sujet.
J’ai récemment changé le proxy inverse que j’avais devant le serveur Discourse.
J’ai un serveur avec plusieurs installations de Discourse et un proxy inverse devant qui redirige les domaines vers le bon serveur web.

J’ai utilisé HAProxy sur les deux configurations, mais la différence réside dans la plateforme : avant, il était installé sur pfSense, et maintenant sur OPNsense.

Le proxy inverse fonctionne parfaitement, mais lorsque j’essaie de me connecter, j’obtiens une erreur CSRF et je ne peux vraiment rien faire.

Rien n’a changé dans la configuration de Discourse et la configuration de HAProxy a été copiée, donc elle devrait être correcte.
J’ai activé X-Forwarded-For et SSL, mais Discourse ne semble toujours pas conserver la même IP du client et ne voit que celle du proxy.

Voici le post Reddit où j’ai également demandé de l’aide : https://www.reddit.com/r/OPNsenseFirewall/comments/l4ltxb/migration_from_pfsense_to_opnsense_ha_proxy/?utm_source=share&utm_medium=web2x&context=3

Je ne sais pas si cela résoudra le problème CSRF (qui, selon moi, est lié à des problèmes de certificat HTTPS, mais je ne suis pas vraiment sûr), mais vous avez configuré la redirection en indiquant à nginx à l’intérieur du conteneur quelles adresses sont de confiance. Vous pouvez rechercher ici « X-forwarded-for » et trouver des exemples sur la façon de résoudre ce problème.

Merci pour votre réponse.
J’ai consulté le forum à ce sujet, mais je n’ai pas vraiment trouvé d’informations mises à jour.

Il y a plusieurs anciens sujets mentionnant Real_ip à ajouter dans nginx à l’intérieur du conteneur, mais je ne sais pas comment faire.

Recommandez-vous un guide spécifique ?

Je ne vois pas de guide spécifique, mais je vais essayer d’en créer un bientôt. Voici celui-ci Inconsistent / missing registration & last IP - #13 by pfaffman qui, je pense, devrait vous donner ce dont vous avez besoin pour la partie real-ip.

Vous devez également envoyer un en-tête X-Forwarded-Proto.

MERCI ! En fait, j’ai tourné en rond pendant 3 jours et cela a résolu le problème !

J’ai également ajouté l’en-tête Proto et cela a fonctionné !

Pour information, il existe de nombreuses configurations d’exemple pour les serveurs proxy inversés devant l’application Discourse, y compris celle-ci ; presque toutes traitent de « X-Forwarded-Proto » :