Você já tentou usar o RealIPModule e configurar o X-Real-IP como X-Forwarded-For
Você tem que passar --with-http_realip_module durante o tempo de compilação para construir o módulo porque ele não é construído por padrão.
É possível fazer com que o Nginx HttpGeoIPModule use o IP X_ Encaminhado que é enviado via HAProxy? Atualmente, está apenas usando o IP do servidor incorreto, mas não tenho certeza de como posso fazer com que o Nginx use o IP X_ Encaminhado.
Alguma idéia?
Você já tentou usar o RealIPModule e configurar o X-Real-IP como X-Forwarded-For
Você tem que passar --with-http_realip_module durante o tempo de compilação para construir o módulo porque ele não é construído por padrão.
A resposta do Sameer está correta.
Você precisará configurar e compilar o Nginx com a opção --with-http_realip_module.
Em seguida, defina a seguinte opção na configuração do Nginx:
set_real_ip_from 1.2.3.4;
real_ip_header X-Forwarded-For;
Onde 1.2.3.4 é o endereço IP do HAProxy
No HAProxy, você precisará das seguintes opções:
option httpclose
option forwardfor
Achei este site útil: link
Outra opção é executar o HA Proxy no modo transparente, então todos os IPs serão exibidos corretamente. Geralmente, é necessário um pouco de 'Tilt' para fazer funcionar, mas vale a pena o esforço.