Description
When running multiple ATS servers behind a TCP load balancer using the HTTP/2 protocol over TLS, it should be possible to get the client IP address forwarded by the load balancer using the proxy protocol.
Many popular load balancers like HAPROXY or ELB currently lack protocol support for HTTP/2, so a TCP proxy must be used. This means that the IP address cannot be forwarded via the X-Forwarded-For header as is common when using HTTP proxying.
The specification for the proxy protocol can be found at:
http://www.haproxy.org/download/1.5/doc/proxy-protocol.txt
And additional info in this haproxy blog post:
http://blog.haproxy.com/haproxy/proxy-protocol/
There are two version of the proxy protocol. The more widely used version 1 is text based and version 2 is binary.
Proxy protocol would be useful for listening ports and for forwarding requests to origins that support the protocol.