问题描述:
在Web分布式系统中,一般会搭建复杂的load blance系统来提供高性能的web服务。
load blance有4层网络的,也有7层网络的。再经过这样的分布式网络之后,后面真正提供服务的
程序可能会丧失掉client的网络信息,也就是IP地址以及TCP端口。
解决方法:
为了解决这样的问题,存在着这样一种协议。叫做 Proxy Protocol。
正文
1. 协议实现
在三次握手之后,会增加一个TCP payload包,包payload长度48字节。如图:
示例,如下图所示的第四个包就是proxy protocol的包。
payload格式,根据V1,V2两个版本有所不同。如下是V1版本,是ASCII码格式:
2、nginx proxy的配置方法
3. nginx server的配置方法