I’ve came across the following tweet the other day, and I couldn’t be more excited:
https://t.co/P3BbFqx1ro CURLOPT_HAPROXYPROTOCOL: support the HAProxy PROXY protocol— curl commits (@curlcommits) March 17, 2018
Add --haproxy-protocol for the command line tool
This is exciting to me as the work I’ve been doing in
viaproxy had one caveat: testing it works was a bit convoluted, as I was doing by running an HAProxy instance with a custom configuration like the following:
global debug maxconn 4000 log 127.0.0.1 local0 defaults timeout connect 10s timeout client 1m timeout server 1m listen without-send-proxy mode tcp log global option tcplog bind *:17654 server app1 127.0.0.1:7655 listen with-send-proxy mode tcp log global option tcplog bind *:27654 bind ipv6@:27654 server app1 127.0.0.1:7654 send-proxy
6baeb6df35d24740c55239f24b5fc4ce86f375a5 adds a new
--haproxy-protocol that, as documented, will do the following:
Send a HAProxy PROXY protocol header at the beginning of the connection. This is used by some load balancers and reverse proxies to indicate the client’s true IP address and port.
This option is primarily useful when sending test requests to a service that expects this header.
Reading the commit changes is very enlightening, too, as it is a great example of nice and simple C code. I’m looking forward to the release!