Proxy protocol 是haproxy 作者开发和设计的一个inernet 协议, 用于获取客户端的IP地址。 在使用7层代理是可以向http协议添加X-Forword-For来实现,而4层协议就无法简单的获取到客户端IP。
haproxy、nginx、apache、squid、mysql等等都支持proxy protocol.
Proxy protocol需要两个角色sender和receiver,sender在与receiver之间建立连接后,会先发送一个带有客户信息的PP包,因为更改了tcp协议,需receiver也支持proxy protocol,否则不能识别tcp包头,导致无法成功建立连接。