ADC

自定义服务器 ID 持久性

在自定义服务器 ID 持久性方法中,客户端请求中指定的服务器 ID 用于维护持久性。要使这种类型的持久性工作,必须首先在服务上设置服务器 ID。Citrix ADC 设备检查客户端请求的 URL,并连接到与指定服务器 ID 关联的服务器。服务提供商必须确保用户知道在其对特定服务的请求中要提供的服务器 ID。

例如,如果站点提供来自不同服务器的不同类型的数据(如图像、文本和多媒体),则可以为每个服务器分配一个服务器 ID。在 Citrix ADC 设备上,为相应服务指定这些服务器 ID,并在相应的负载平衡虚拟服务器上配置自定义服务器 ID 持久性。发送请求时,客户端将服务器 ID 插入到指示所需数据类型的 URL 中。

配置自定义服务器 ID 持久性:

  • 在负载平衡设置中,为要使用用户定义的服务器 ID 来维护持久性的每个服务分配一个服务器 ID。允许使用字母数字服务器 ID。
  • 使用默认语法表达式语言指定规则,以检查服务器 ID 的 URL 查询并将流量转发到相应的服务器。
  • 配置自定义服务器 ID 持久性。

注意:持久性超时值不影响自定义服务器 ID 持久性类型。持久性客户端的最大数量没有限制,因为此持久性类型不存储任何客户端信息。

示例:

在具有两个服务的负载平衡设置中,将服务器 ID 2345-photo-56789 分配给 Service-1,将服务器 ID 2345-drawing-abb123 分配给 Service-2。将这些服务绑定到名为 Web11 的虚拟服务器。

set service Service-1 10.102.29.5 -CustomServerID 2345-photo-56789

set service Service-2 10.102.29.6 -CustomServerID 2345-drawing-abb123
<!--NeedCopy-->

在虚拟服务器 Web11 上,启用自定义服务器 ID 持久性。

创建以下表达式,以便检查包含字符串“sid=”的所有 URL 查询。

HTTP.REQ.URL.AFTER_STR(“sid=”)

示例:

set lb vserver Web11 -persistenceType customserverID -rule "HTTP.REQ.URL.AFTER_STR("sid=")"

bind lb vserver Web11 Service-[1-2]
<!--NeedCopy-->

当客户端将具有以下 URL 的请求发送到 Web11 的 IP 地址时,设备会将请求引导到服务 2 并支持持久性。

示例:

http://www.example.com/index.asp?&sid=2345-drawing-abb123

有关默认语法策略表达式的更多信息,请参阅 策略配置和参考

使用配置实用程序配置自定义服务器 ID 持久性

  1. 导航到流量管理 > 负载平衡 > 服务
  2. 打开服务并设置服务器 ID。
  3. 导航到 流量管理 > 负载平衡 > 虚拟服务器,然后打开虚拟服务器。
  4. 在高级设置中,选择持久性。
  5. 选择客户名称,然后指定一个表达式。
自定义服务器 ID 持久性