Send PROXY protocol header from HAProxy
After posting on the HAProxy mailing list ([email protected]) I got the answer that I need to add either send-proxy
or send-proxy-v2
to my backend server
definitions.
My updated config file has the line:
server TestServer01 10.6.186.24:48080 send-proxy
...which sends version 1 of the PROXY protocol.
To send version 2, change this to
server TestServer01 10.6.186.24:48080 send-proxy-v2
Related videos on Youtube
![Wad](https://i.stack.imgur.com/yU383.jpg?s=256&g=1)
Wad
Updated on September 18, 2022Comments
-
Wad almost 2 years
I've probably got lost in the masses of documentation on this subject, but I'm trying to configure my HAProxy process to send the PROXY protocol header as described at http://www.haproxy.org/download/1.8/doc/proxy-protocol.txt. This is because I am having to write support for the PROXY protocol into a C++ server (in order for it to have access to the client IP/port) and I want to test my code is working properly with the parsing of the PROXY header.
Here is my minimal config file:
global maxconn 4096 defaults log global mode http retries 3 option redispatch maxconn 2000 timeout connect 5000 timeout client 50000 timeout server 50000 frontend TestServerTest bind 10.6.186.24:54781 mode tcp default_backend TestServernodes backend TestServernodes mode tcp # Note there is no 'check' after the below line unlike the others as we don't want to send the # healthcheck ("OPTIONS / HTTP/1.0"...) string to the TestServer as it doesn't understand it! server TestServer01 10.6.186.24:48080
What I am finding is that when I start HAProxy and connect to 54781, the first data that TestServer at 48080 receives is the data which is sent from my client; it is not the PROXY header described at the link I posted.
Can someone please tell me what I am missing in my configuration that is preventing the PROXY header being sent to my backend server?