Reverse proxy X-Forwarded-For

Ho recentemente migrato il mio forum su un host molto più performante e sto lavorando per raggiungere l’alta disponibilità.

Nel reverse proxy ho aggiunto gli header Forward Proto e For, ma la configurazione nginx su Discourse ha rispettato solo il Proto.

Ho dovuto aggiungere sotto server:

set_real_ip_from loadbalancerip;
real_ip_header X-Forwarded-For;

Esiste una variabile d’ambiente di Discourse per aggiungere queste impostazioni?
o eventualmente un argomento da aggiungere ad app.yml?

Credo che questo sia quello che stai cercando:

No, questa guida spiega come configurare un socket nginx condiviso tra il container e l’host.

Sto cercando un modo dichiarativo per includere:

set_real_ip_from loadbalancerip;
real_ip_header X-Forwarded-For;

nella configurazione di nginx nei container dopo il rebuild.

Stai cercando di aggiungerlo all’nginx interno del container? Credo che non sia necessario, dato che viene aggiunto di default:

Questa riga è necessaria affinché funzioni.
Senza di essa, tutte le richieste mostrano ancora l’IP del load balancer.
Lo so perché il mio Discourse era bloccato con errori 429.

Nel caso non fosse chiaro, questa è la mia infrastruttura:
utente > haproxy > discourse

Discourse include naturalmente un reverse proxy nginx.

Ho incluso gli header di inoltramento in haproxy, ma l’nginx interno di Discourse non rispettava l’header “forwarded for”. Ho dovuto aggiungere le due righe nel mio post originale e riavviare il container per far funzionare tutto.