Citado no documento HAProxy em haproxy.1wt.eu .
- if the application needs to log the original client's IP, use the "forwardfor" option which will add an "X-Forwarded-For" header with the original client's IP address. You must also use "httpclose" to ensure that you will rewrite every requests and not only the first one of each session: option httpclose option forwardfor
Afirma-se que o aplicativo deve tratar o cabeçalho HTTP X-Forwarded-For para conhecer o endereço IP do cliente. Parece ser o único caminho a seguir no seu caso.
Haproxy 1.4 introduced a new mode with "option http-server-close". It still closed the connection to the server but maintains keep-alive towards the client if possible and used. On most setups, you probably want to use that as it helps with latency on the single high-latency part of your connection (between Haproxy and the client).
option http-server-close option forwardfor