Citrix ADC

代理协议

代理协议跨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. 代理协议版本 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. 代理协议版本 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设备中配置代理协议。

  1. 将代理协议启用为全局协议。
  2. 为插入操作配置代理协议
  3. 为转发操作配置代理协议
  4. 为脱衣操作配置代理协议
  5. 配置无操作的代理协议

将代理协议启用为全局协议

在命令提示符处,键入以下内容:

设置ns param -proxyProtocol为ENABLED

为插入操作配置代理协议

要为插入操作配置代理协议,必须在负载平衡虚拟服务器上启用或禁用该协议,然后在服务上启用该协议。

添加禁用代理协议的网络配置文件以实现负载平衡虚拟

在命令提示符处,键入以下内容:

add netprofile -proxyProtocol ENABLED/DISABLED> -proxyprotocoltxversion .使用实例

示例:

增加netprofile proxyprofile-1 -proxyProtocol ENABLED - proxyprotocolversion V1

注意:

如果在设备上禁用代理协议,则无需设置协议版本参数。

添加启用服务的代理协议的网络配置文件

在命令提示符处,键入以下内容:

add netprofile -proxyProtocol ENABLED/DISABLED> -proxyprotocoltxversion .使用实例

示例:

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 -netprofile

示例:

配置lbvserver lbvserver-1 -netprofile proxyProfile-1

在Citrix ADC设备中使用HTTP服务设置网络配置文件

在命令提示符处,键入以下内容:

设置service <服务名> -netprofile

示例:

设置service http-service-1 -netprofile proxyProfile-1

为转发操作配置代理协议

为代理层中的下一个Citrix ADC实例配置用于转发操作的代理协议。您必须启用或禁用该协议并绑定到虚拟服务器或服务。

添加启用了代理协议的网络配置文件,以实现负载平衡

在命令提示符处,键入以下内容:

add netprofile -proxyProtocol ENABLED/DISABLED> -proxyprotocoltxversion .使用实例

示例:

add netprofile proxyprofile-3 -proxyProtocol ENABLED - proxyprotocolversion V1

添加启用服务的代理协议的网络配置文件

在命令提示符处,键入以下内容:

add netprofile -proxyProtocol ENABLED/DISABLED> -proxyprotocoltxversion .使用实例

示例:

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 -netprofile

示例:

配置lbvserver lbvserver-2 -netprofile proxyProfile-3

在Citrix ADC设备中使用HTTP服务设置网络配置文件

在命令提示符处,键入以下内容:

设置service <服务名> -netprofile

示例:

设置service http-service-2 -netprofile proxyProfile-4

为剥离操作配置代理协议

要为剥离操作配置代理协议,必须在负载平衡虚拟服务器上启用代理协议,然后在服务上禁用代理协议。

添加虚拟服务器启用代理协议的网络配置文件

在命令提示符处,键入以下内容:

add netprofile -proxyProtocol ENABLED> -proxyprotocoltxversion .使用实例

示例:

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 -netprofile

示例:配置lbvserver lbvserver-3 -netprofile proxyProfile-5

使用Citrix ADC GUI配置代理协议

  1. 导航到系统>设置>更改全局系统设置
  2. 在“配置全局系统设置参数“页中,选中”代理协议复选框。
  3. 单击确定,然后关闭

    “代理协议”页

  4. 导航到系统>网络 > 网络配置文件
  5. 在详细信息窗格中,单击添加为负载平衡虚拟服务器创建网络配置文件。
  6. 在“网络配置文件页中,设置以下参数:
    1. 名称。网络配置文件的名称。
    2. 代理协议。为负载平衡虚拟服务器启用或禁用代理协议。
    3. 代理协议tx版本。根据传入的数据格式将代理协议版本设置为v1或v2。
  7. 单击确定

    本地化后的图片

  8. 导航到流量管理>负载平衡>虚拟服务器
  9. 在详细信息窗格中,单击添加
  10. 负载平衡虚拟服务器页面中,设置基本参数。
  11. 在“高级设置部分中,选择配置文件
  12. 配置文件部分中,单击铅笔图标。
  13. 选择网络配置文件,然后单击确定
  14. 单击完成

    本地化后的图片

  15. 导航到流量管理>负载平衡>服务
  16. 在详细信息窗格中,单击添加
  17. 负载平衡服务页面中,设置基本参数。
  18. 在“高级设置部分中,选择配置文件
  19. 配置文件部分中,单击铅笔图标。
  20. 选择网络配置文件,然后单击确定
  21. 单击完成

注意:

如果您有多个Citrix ADC设备作为代理层的一部分,则必须在每个设备上为前进操作设置代理协议配置。

代理协议配置

代理协议