No haproxy, se você não tem nada para impedir isso, isso é normal, eu não sei ngnix, mas eu resolvi desta forma com haproxy:
nas opções padrão:
forwardfor
Na minha definição de frontend haproxy, tenho:
reqidel ^X-Forwarded-For:.*
Isso exclui X-Forwarded-For
no pedido http se o cliente tentar falsificar e haproxy retornar o cabeçalho real na resposta http com endereço IP verdadeiro
Se você quiser usar X-Forwarded-For
para verificar o endereço IP de clientes http, será necessário excluí-lo se existir na solicitação http, porque o cliente que usa um proxy http em algum momento definiu o endereço IP local em X-Forwarded-For