代理协议
代理协议跨Citrix ADC设备安全地将客户端详细信息从客户端传输到服务器。设备会添加包含客户端详细信息的代理协议标头,然后将其转发到后端服务器。以下是Citrix ADC设备中代理协议的一些使用场景。
- 学习原始客户端IP地址
- 为网站选择语言
- 阻止列出选定的IP地址
- 记录和收集统计信息。
以下是三种操作模式:
- 插入。设备会插入客户端详细信息并将其发送到后端服务器。
- 向前。设备会将客户端详细信息转发给后端服务器。
- 剥离。设备存储客户端详细信息以进行记录。另外,如果后端服务器不支持代理协议,则使用重写策略配置将客户端详细信息发送到服务器
限制
TCP快速开放(tfo)和多路径TCP功能不支持代理协议.输出说明仅Citrix ADC设备执行TCP连接终止的服务支持该功能。它不支持其他服务,例如"任何"。
代理协议如何在Citrix ADC设备中工作
以下流程图显示了如何跨Citrix ADC设备配置用于插入,转发和剥离操作的代理协议:
插入操作
组件的交互方式如下:
- 在Citrix ADC实例中,您必须在网络配置文件中启用代理协议并将其绑定到服务。
- 在插入操作中,Citrix ADC会添加包含客户端连接详细信息的代理标头,然后将其转发到后端服务器。
- 在发送端,设备根据cli配置决定代理协议版本。
向前操作
组件的交互方式如下:
- 客户端向Citrix ADC发送请求以及代理标头。设备会动态识别版本。
- 在Citrix ADC设备中,它是向前操作。代理协议在负载平衡虚拟服务器或内容交换虚拟服务器上启用,并在服务上启用。设备接收代理标头并将标头详细信息转发给后端服务器。
- 如果代理标头详细信息格式无效,设备将重置连接。
- 在发送端,设备根据cli配置决定代理协议版本。
剥离操作
组件的交互方式如下:
- 客户端向Citrix ADC设备发送请求以及代理标头。
- 在Citrix ADC设备中,如果是剥离操作,设备将转发从代理协议获取的客户端信息,并使用重写策略表达式将其插入HTTP标头中。
- 使用重写策略表达式将客户端详细信息(例如源IP地址,目标IP地址,源端口和目标端口)添加到HTTP标头中。重写策略会评估表达式,如果为" true ",则触发相应的重写策略操作。客户端详细信息将以HTTP标头的形式转发到后端服务器。
- 如果代理标头详细信息格式无效,设备将重置连接。
代理协议版本格式
代理协议版本有两种格式。设备决定使用基于传入数据长度的格式。有关详细信息,请参阅代理协议招标书。
代理协议版本 1 格式
代理tcp4 / tcp6 / unknown < src ip > < dst ip > < src port > < dst port >
- 代理->代理标头版本-1的唯一字符串格式。
- 支持基于IPv4的TCP协议和基于IPv6的TCP协议。对于其余的协议,这是未知。
- SRC IP -数据包的源IP(原始客户端IP)地址。
- DST IP -数据包的目的地IP地址。
- SRC端口-数据包的源端口。
- DST端口-数据包的目的端口。
代理协议版本 2 格式
0D 0A 0D 0A 00 0D 0A 51 55 49 54 0A <第13个字节> <第14个字节> <15-16个字节> <第17个字节起>
- 0 0 D 0 00 0 D 0 0 51 55 49 54 - >代理标头版本2的唯一二进制字符串。
- 支持基于IPv4的TCP协议和基于IPv6的TCP协议。对于其余的协议,这是未知。
- 第十三个字节-协议版本和命令。
- 第十四个字节-地址和协议系列。
- 15-16字节—按网络顺序表示的地址长度。
- 从第十七个字节开始,网络顺序中存在的地址信息src IP, dst IP, src端口,dst端口。
在Citrix ADC设备中配置代理协议
完成以下步骤以在Citrix ADC设备中配置代理协议。
- 将代理协议启用为全局协议。
- 为插入操作配置代理协议
- 为转发操作配置代理协议
- 为脱衣操作配置代理协议
- 配置无操作的代理协议
将代理协议启用为全局协议
在命令提示符处,键入以下内容:
设置ns param -proxyProtocol为ENABLED
为插入操作配置代理协议
要为插入操作配置代理协议,必须在负载平衡虚拟服务器上启用或禁用该协议,然后在服务上启用该协议。
添加禁用代理协议的网络配置文件以实现负载平衡虚拟
在命令提示符处,键入以下内容:
add netprofile
示例:
增加netprofile proxyprofile-1 -proxyProtocol ENABLED - proxyprotocolversion V1
注意:
如果在设备上禁用代理协议,则无需设置协议版本参数。
添加启用服务的代理协议的网络配置文件
在命令提示符处,键入以下内容:
add netprofile
示例:
add netprofile proxyprofile-2 -proxyProtocol ENABLED - proxyprotocolversion 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
示例:
配置lbvserver lbvserver-1 -netprofile proxyProfile-1
在Citrix ADC设备中使用HTTP服务设置网络配置文件
在命令提示符处,键入以下内容:
设置service <服务名> -netprofile
示例:
设置service http-service-1 -netprofile proxyProfile-1
为转发操作配置代理协议
为代理层中的下一个Citrix ADC实例配置用于转发操作的代理协议。您必须启用或禁用该协议并绑定到虚拟服务器或服务。
添加启用了代理协议的网络配置文件,以实现负载平衡
在命令提示符处,键入以下内容:
add netprofile
示例:
add netprofile proxyprofile-3 -proxyProtocol ENABLED - proxyprotocolversion V1
添加启用服务的代理协议的网络配置文件
在命令提示符处,键入以下内容:
add netprofile
示例:
add netprofile proxyprofile-4 -proxyProtocol ENABLED - proxyprotocolversion 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 <服务名> -netprofile
示例:
设置service http-service-2 -netprofile proxyProfile-4
为剥离操作配置代理协议
要为剥离操作配置代理协议,必须在负载平衡虚拟服务器上启用代理协议,然后在服务上禁用代理协议。
添加虚拟服务器启用代理协议的网络配置文件
在命令提示符处,键入以下内容:
add netprofile
示例:
add netprofile proxyprofile-5 -proxyProtocol ENABLED - proxyprotocolversion 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
示例:配置lbvserver lbvserver-3 -netprofile proxyProfile-5
使用Citrix ADC GUI配置代理协议
- 导航到系统>设置>更改全局系统设置。
- 在“配置全局系统设置参数“页中,选中”代理协议复选框。
单击确定,然后关闭。
- 导航到系统>网络 > 网络配置文件。
- 在详细信息窗格中,单击添加为负载平衡虚拟服务器创建网络配置文件。
- 在“网络配置文件页中,设置以下参数:
- 名称。网络配置文件的名称。
- 代理协议。为负载平衡虚拟服务器启用或禁用代理协议。
- 代理协议tx版本。根据传入的数据格式将代理协议版本设置为v1或v2。
单击确定。
- 导航到流量管理>负载平衡>虚拟服务器。
- 在详细信息窗格中,单击添加。
- 在负载平衡虚拟服务器页面中,设置基本参数。
- 在“高级设置部分中,选择配置文件。
- 在配置文件部分中,单击铅笔图标。
- 选择网络配置文件,然后单击确定。
单击完成。
- 导航到流量管理>负载平衡>服务。
- 在详细信息窗格中,单击添加。
- 在负载平衡服务页面中,设置基本参数。
- 在“高级设置部分中,选择配置文件。
- 在配置文件部分中,单击铅笔图标。
- 选择网络配置文件,然后单击确定。
- 单击完成。
注意:
如果您有多个Citrix ADC设备作为代理层的一部分,则必须在每个设备上为前进操作设置代理协议配置。