Citrix ADC

自定义服务器ID持久性

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

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

配置自定义服务器ID持久化。

  • 在负载平衡设置中,为每个希望使用用户定义的服务器ID来维护持久性的服务分配一个服务器ID。允许使用字母数字服务器id。
  • 使用默认语法表达式语言指定规则,以检查URL查询中的服务器ID,并将流量转发到相应的服务器。
  • 配置自定义服务器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 -2 10.102.29.6 -CustomServerID 2345-drawing-abb123 

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

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

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

例子:

set lb vserver Web11 - persistencetype customserverID -rule " http . request . url . after_str ("sid=")" bind lb vserver Web11 -[1-2] 

当客户端向Web11的IP地址发送带有以下URL的请求时,设备将请求定向到Service-2并执行持久化。

例子:

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

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

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

  1. 导航到流量管理>负载均衡>业务
  2. 打开服务并设置服务器ID。
  3. 导航到流量管理>负载均衡>虚拟服务器,打开虚拟服务器。
  4. 在“高级设置”中,选择“持久性”。
  5. 选择CUSTOMESERVERID,并指定表达式。
自定义服务器ID持久性