Reverse proxy X-Forwarded-For

Recentemente migrei meu fórum para um host muito mais performático e estou trabalhando para alcançar alta disponibilidade.

No proxy reverso, adicionei os cabeçalhos Forward Proto e For, mas a configuração do nginx no Discourse respeitou apenas o Proto.

Fui obrigado a adicionar, sob server:

set_real_ip_from loadbalancerip;
real_ip_header X-Forwarded-For;

Existe alguma variável de ambiente do Discourse para adicionar isso?
Ou talvez um argumento para adicionar ao app.yml?

Acredito que seja isso que você está procurando:

Não, este guia explica como configurar um socket nginx compartilhado entre o contêiner e o host.

Estou tentando encontrar uma maneira declarativa de incluir:

set_real_ip_from loadbalancerip;
real_ip_header X-Forwarded-For;

Na configuração do nginx nos contêineres após a reconstrução.

Você está tentando adicionar isso ao nginx interno do contêiner? Acredito que isso seja desnecessário, pois já é incluído por padrão:

Essa linha é necessária para que funcione.
Sem ela, todas as requisições ainda mostram o IP do balanceador de carga.
Eu sei disso porque meu Discourse ficou fora do ar devido a erros 429.

Caso não esteja claro, esta é minha infraestrutura:
usuário > haproxy > discourse

O Discourse, é claro, inclui um proxy reverso nginx.

Eu incluí os cabeçalhos de encaminhamento no haproxy, mas o nginx interno do Discourse não estava respeitando o “forwarded for”. Tive que adicionar as 2 linhas na minha postagem original e reiniciar o container para que funcionasse.