Reverse proxy X-Forwarded-For

J’ai récemment migré mon forum vers un hébergeur beaucoup plus performant et je travaille à assurer une haute disponibilité.

Dans le proxy inverse, j’ai ajouté les en-têtes Forward Proto et For, mais la configuration nginx sur Discourse ne respectait que le Proto.

J’ai dû ajouter sous server :

set_real_ip_from loadbalancerip;
real_ip_header X-Forwarded-For;

Existe-t-il une variable d’environnement Discourse pour ajouter ces paramètres ?
Ou peut-être un argument à ajouter dans app.yml ?

Je pense que c’est ce que vous recherchez :

Non, ce guide explique comment configurer un socket nginx partagé entre le conteneur et l’hôte.

Je cherche une méthode déclarative pour inclure :

set_real_ip_from loadbalancerip;
real_ip_header X-Forwarded-For;

dans la configuration nginx des conteneurs après une reconstruction.

Vous essayez d’ajouter cela au nginx interne du conteneur ? Je pense que c’est inutile car c’est ajouté par défaut :

Cette ligne est nécessaire pour que cela fonctionne.
Sans elle, toutes les requêtes affichent encore l’adresse IP du load balancer.
Je le sais car mon Discourse était en panne à cause d’erreurs 429.

Au cas où ce ne serait pas clair, voici mon infrastructure :
utilisateur > haproxy > discourse

Bien sûr, Discourse inclut un proxy inverse nginx.

J’ai inclus les en-têtes de transfert dans haproxy, mais le nginx interne de Discourse ne prenait pas en compte l’en-tête forwarded for. J’ai dû ajouter les 2 lignes dans mon premier message et redémarrer le conteneur pour que cela fonctionne.