代理协议
代理协议跨Citrix ADC设备安全地将客户端详细信息从客户端传输到服务器。设备添加带有客户端详细信息的代理协议报头,并将其转发给后端服务器。以下是Citrix ADC设备中代理协议的一些使用场景。
- 学习原始客户端IP地址
- 为网站选择语言
- 阻止列出所选IP地址
- 记录和收集统计信息。
以下是三种操作模式:
- 插入。设备插入客户端详细信息并将其发送到后端服务器。
- 前进。设备将客户端详细信息转发到后端服务器。
- 剥夺了。设备存储用于记录日志的客户端详细信息。另外,如果后端服务器不支持代理协议,则使用重写策略配置将客户端详细信息发送到服务器
限制
TFO (TCP Fast Open)和MultiPath TCP特性不支持代理协议。该特性仅支持Citrix ADC设备执行TCP连接终止的服务。它不支持其他服务,例如“ANY”。
代理协议如何在Citrix ADC设备中工作
下面的流程图显示了如何跨Citrix ADC设备配置代理协议,用于插入、转发和剥离操作:
插入操作
组件交互如下:
- 在Citrix ADC实例中,必须在网络配置文件中启用代理协议,并将其绑定到服务。
- 在Insert操作中,Citrix ADC添加带有客户端连接详细信息的代理标头,并将其转发给后端服务器。
- 在发送端,设备根据CLI配置决定代理协议版本。
转发
组件交互如下:
- 客户端将请求连同代理标头一起发送到Citrix ADC。设备动态地标识版本。
- 在Citrix ADC设备中,这是一个Forward操作。在负载均衡虚拟服务器或内容切换虚拟服务器上启用代理协议,并在业务上启用代理协议。设备接收代理标头并将标头详细信息转发给后端服务器。
- 如果代理报头详细信息的格式无效,设备将重置连接。
- 在发送端,设备根据CLI配置决定代理协议版本。
剥去操作
组件交互如下:
- 客户端向Citrix ADC设备发送请求和代理标头。
- 在Citrix ADC设备中,如果是剥离操作,则设备转发从代理协议获得的客户端信息,并使用重写策略表达式将其插入HTTP报头。
- 源IP地址、目的IP地址、源端口和目的端口等客户端详细信息通过重写策略表达式添加到HTTP报头中。重写策略计算表达式,如果“true”,则触发相应的重写策略操作。客户端详细信息以HTTP报头的形式转发给后端服务器。
- 如果代理报头详细信息的格式无效,设备将重置连接。
代理协议版本格式
代理协议版本有两种格式。设备根据传入的数据长度决定使用一种格式。有关详细信息,请参见代理协议招标书。
代理协议版本1格式
代理tcp4 / tcp6 / unknown < src ip > < dst ip > < src端口> < dst端口>
- PROXY ->代理报头版本-1的唯一字符串格式。
- 支持TCP over IPv4和TCP over IPv6协议。对于其余的协议,这是UNKNOWN。
- SRC IP -报文的源IP(原始客户端IP)地址。
- DST IP -报文的目的IP地址。
- SRC port -报文的源端口。
- DST端口-报文的目的端口。
代理协议版本2格式
0D 0A 0D 0A 00 0D 0A 51 55 49 54 0A <13字节> <14字节> <15-16字节> <17字节起>
- d0a 0d0a 00 0d0a 51 55 49 54 0A ->代理报头版本-2的唯一二进制字符串。
- 支持TCP over IPv4和TCP over IPv6协议。对于其余的协议,这是UNKNOWN。
- 第十三字节-协议版本和命令。
- 第十四字节-地址和协议族。
- 15-16字节-网络顺序的地址长度。
- 第十七字节起-地址信息在网络顺序- src IP, dst IP, src端口,dst端口。
在Citrix ADC设备中配置代理协议
完成以下步骤,在Citrix ADC设备中配置代理协议。
- 启用代理协议为全局。
- 为插入操作配置代理协议
- 配置转发操作的代理协议
- 配置Strip操作的代理协议
- 无操作时配置代理协议
启用代理协议为全局
在命令提示符下,输入以下命令:
设置ns参数-proxyProtocol ENABLED
为插入操作配置代理协议
要配置用于插入操作的代理协议,必须在负载均衡虚拟服务器上启用或禁用代理协议,并在服务上启用代理协议。
为负载均衡虚拟服务器添加禁用代理协议的网络配置文件
在命令提示符下,输入以下命令:
add netprofile
例子:
添加netprofile proxyprofile-1 -proxyProtocol DISABLED - proxyprotocolversion V1
注意:
如果在设备上禁用代理协议,则不需要设置协议版本参数。
添加为服务启用代理协议的网络配置文件
在命令提示符下,输入以下命令:
add netprofile
例子:
添加netprofile proxyprofile-2 -proxyProtocol ENABLED -proxyprotocoltxversion V1
在代理层为Citrix ADC设备添加负载均衡虚拟服务器
在命令提示符下,输入以下命令:
add lb vserver
例子:
添加lbvserver lbvserver-1 HTTP 1.1.1.1 80 .单击“添加”
在代理层为Citrix ADC设备添加HTTP服务
在命令提示符下,输入以下命令:
add service
例子:
添加服务http-service-1 2.2.2.1 http 80
在Citrix ADC设备中使用负载平衡虚拟服务器设置网络配置文件
在命令提示符下,输入以下命令:
设置lb vserver
例子:
set lbvserver lbvserver-1 -netprofile proxyProfile-1
在Citrix ADC设备中使用HTTP服务设置网络配置文件
在命令提示符下,输入以下命令:
设置service
例子:
设置service http-service-1 -netprofile proxyProfile-1
配置代理协议进行转发操作
为代理层的下一个Citrix ADC实例配置Forward操作的代理协议。您必须启用或禁用该协议,并绑定到虚拟服务器或服务。
为负载均衡虚拟服务器添加启用代理协议的网络配置文件
在命令提示符下,输入以下命令:
add netprofile
例子:
添加netprofile proxyprofile-3 -proxyProtocol ENABLED -proxyprotocoltxversion V1
为服务添加启用代理协议的网络配置文件
在命令提示符下,输入以下命令:
add netprofile
例子:
添加netprofile proxyprofile-4 -proxyProtocol ENABLED -proxyprotocoltxversion V1
在代理层为Citrix ADC设备添加负载均衡虚拟服务器
在命令提示符下,输入以下命令:
add lb vserver
例子:
添加lbvserver lbvserver-2 HTTP 2.2.2.2 80 .单击“添加”
在代理层为Citrix ADC设备添加HTTP服务
在命令提示符下,输入以下命令:
add service
例子:
添加服务http-service-2 3.3.3.1 http 80
在Citrix ADC设备中使用负载平衡虚拟服务器设置网络配置文件
在命令提示符下,输入以下命令:
设置lb vserver
例子:
配置lbvserver lbvserver-2 -netprofile proxyProfile-3
在Citrix ADC设备中使用HTTP服务设置网络配置文件
在命令提示符下,输入以下命令:
设置service
例子:
设置service http-service-2 -netprofile proxyProfile-4
配置条带操作代理协议
如果要配置条带操作的代理协议,必须在负载均衡虚拟服务器上启用代理协议,在业务上禁用代理协议。
为虚拟服务器添加启用代理协议的网络配置文件
在命令提示符下,输入以下命令:
add netprofile
例子:
添加netprofile proxyprofile-5 -proxyProtocol ENABLED -proxyprotocoltxversion V1
在代理层为Citrix ADC设备添加负载均衡或内容切换虚拟服务器
在命令提示符下,输入以下命令:
add lb vserver
例子:
添加lbvserver lbvserver-3 HTTP 2.2.2.2 80 .单击“添加”
在代理层为Citrix ADC设备添加HTTP服务
在命令提示符下,输入以下命令:
add service
例子:
添加服务http-service-3 3.3.3.1 http 80
在Citrix ADC设备中使用负载平衡或内容切换虚拟服务器设置网络配置文件
在命令提示符下,输入以下命令:
设置lb vserver
例子:set lbvserver lbvserver-3 -netprofile proxyProfile-5
通过Citrix ADC GUI配置代理协议
- 导航到系统>设置>更改全局系统设置.
- 在配置系统全局配置参数页面,选择代理协议复选框。
点击好吧而且关闭.
- 导航到系统>网络>网络配置文件.
- 在详细信息窗格中,单击添加为负载均衡虚拟服务器创建一个网络配置文件。
- 在网络配置文件页,设置以下参数:
- 的名字。net配置文件的名称。
- 代理协议。启用或禁用负载均衡虚拟服务器的代理协议。
- 代理协议TX版本。请根据输入数据格式选择“V1”或“V2”。
点击好吧.
- 导航到交通管理>负载平衡>虚拟服务器.
- 在详细信息窗格中,单击添加.
- 在负载均衡虚拟服务器页面中,设置基本参数。
- 在高级设置部分中,选择配置文件.
- 在配置文件部分,单击铅笔图标。
- 选择网络配置文件,单击好吧.
点击完成.
- 导航到交通管理>负载平衡>服务.
- 在详细信息窗格中,单击添加.
- 在负载均衡业务页,设置基本参数。
- 在高级设置部分中,选择配置文件.
- 在配置文件部分,单击铅笔图标。
- 选择网络配置文件,单击好吧.
- 点击完成.
注意:
如果有多个Citrix ADC设备作为代理层的一部分,则必须在每个设备上为Forward操作设置代理协议配置。