保护内容交换设置免遭故障

当内容切换虚拟服务器关闭或无法处理过多流量或其他原因时,内容切换可能会失败。为了降低失败的几率,您可以采取以下措施来保护内容交换设置不会出现故障:

配置备份虚拟服务器

如果主内容交换虚拟服务器标记为“关闭”或“禁用”,Citrix ADC 设备可以将请求定向到备份内容交换虚拟服务器。它还可以向客户端发送有关站点中断或维护的通知消息。备份内容交换虚拟服务器是一个代理,对客户端是透明的。

配置备份虚拟服务器时,可以指定配置参数“在关闭时禁用主虚拟服务器”,以确保在备份主虚拟服务器时,它仍然是辅助服务器,直到您手动强制其作为主虚拟服务器接管为止。如果要确保对服务器上的数据库进行备份的任何更新都会保留,从而使您能够在还原主虚拟服务器之前同步数据库,则此功能非常有用。

当您创建内容交换虚拟服务器或更改现有内容交换虚拟服务器的可选参数时,您可以配置备份内容交换虚拟服务器。您还可以为现有备份内容交换虚拟服务器配置备份内容交换虚拟服务器,从而创建级联备份内容交换虚拟服务器。切换虚拟服务器的级联备份内容的最大深度为 10。设备搜索已启动的备份内容交换虚拟服务器,并访问该内容交换虚拟服务器以传输内容。

注意

如果内容交换虚拟服务器配置了备份内容交换虚拟服务器和重定向 URL,则备份内容交换虚拟服务器优先于重定向 URL。主虚拟服务器和备份虚拟服务器关闭时使用重定向。

使用命令行界面设置备份内容切换虚拟服务器

在命令提示窗口中,键入:

set cs vserver <name> -backupVserver <string> -disablePrimaryOnDown (ON|OFF)

示例

set cs vserver Vserver-CS-1 -backupVserver Vserver-CS-2 -disablePrimaryOnDown ON

使用配置实用程序设置备份内容交换虚拟服务器

  1. 导航到 流量管理 > 内容交换 > 虚拟服务器,配置虚拟服务器并将协议指定为 MySQL。
  2. 在“高级设置”中,选择“保护”,然后指定 备份虚拟服务器

将多余流量转移到备份虚拟服务器

当与内容交换虚拟服务器的连接数超过配置的阈值时,溢出选项会将到达内容交换虚拟服务器的新连接转移到备份内容交换虚拟服务器。阈值是动态计算的,也可以设置该值。将虚拟服务器上建立的连接数(如果是 TCP)与阈值进行比较。当连接数达到阈值时,新连接将转移到备份内容交换虚拟服务器。

如果备份内容交换虚拟服务器达到配置的阈值并且无法承担负载,则主内容交换虚拟服务器会将所有请求转移到重定向 URL。如果在主内容交换虚拟服务器上未配置重定向 URL,则后续请求将被删除。

使用命令行界面配置内容交换虚拟服务器以将新连接转移到备份虚拟服务器

在命令提示窗口中,键入:

set cs vserver <name> -soMethod <methodType> -soThreshold <thresholdValue> -soPersistence <persistenceValue> -soPersistenceTimeout <timeoutValue>

示例

set cs vserver Vserver-CS-1 -soMethod Connection -soThreshold 1000 -soPersistence enabled -soPersistenceTimeout 2

使用配置实用程序将内容交换虚拟服务器设置为将新连接转移到备份虚拟服务器

  1. 导航到 流量管理 > 内容交换 > 虚拟服务器,配置虚拟服务器并将协议指定为 MySQL。
  2. 在“高级设置”中,选择“保护”,然后配置溢出。

配置重定向 URL

您可以配置重定向 URL,以便在 HTTP 或 HTTPS 类型的内容交换虚拟服务器为“关闭”或“禁用”时通信 Citrix ADC 设备的状态。此 URL 可以是本地或远程的。

重定向 URL 可以是绝对 URL 或相对 URL。如果配置的重定向 URL 包含绝对 URL,HTTP 重定向将发送到配置的位置,而不考虑在传入的 HTTP 请求中指定的 URL。如果配置的重定向 URL 仅包含域名(相对 URL),则在将传入的 URL 附加到重定向 URL 中配置的域之后,HTTP 重定向将发送到某个位置。

Citrix 建议使用绝对 URL。也就是说,一个以/结尾的 URL,例如 www.example.com/ 而不是相对 URL。相对 URL 重定向可能会导致漏洞扫描程序报告误报。

注意

如果内容交换虚拟服务器配置了备份虚拟服务器和重定向 URL,则备份虚拟服务器优先于重定向 URL。主虚拟服务器和备份虚拟服务器关闭时使用重定向 URL。

配置重定向并且内容交换虚拟服务器不可用时,设备会向用户的浏览器发出 HTTP 302 重定向。

使用命令行界面为内容切换虚拟服务器不可用时配置重定向 URL

在命令提示窗口中,键入:

set cs vserver <name> -redirectURL <URLValue>

示例

set cs vserver Vserver-CS-1 -redirectURL http://www.newdomain.com/mysite/maintenance

使用配置实用程序配置内容切换虚拟服务器不可用时的重定向 URL

  1. 导航到 流量管理 > 内容交换 > 虚拟服务器,配置虚拟服务器并将协议指定为 MySQL。
  2. 在“高级设置”中,选择“保护”,然后指定重定向 URL。

配置状态更新选项

内容切换功能可以根据向用户呈现的特定内容在多个服务器上分发客户端请求。为了高效的内容交换,内容交换虚拟服务器根据内容类型将流量分配到负载平衡虚拟服务器,负载平衡虚拟服务器根据指定的负载平衡方法将流量分配到物理服务器。

为了顺利管理流量,内容交换虚拟服务器了解负载平衡虚拟服务器的状态非常重要。如果绑定到它的负载平衡虚拟服务器标记为“向下”,则状态更新选项有助于标记内容切换虚拟服务器“向下”。如果绑定到该虚拟服务器的所有物理服务器都标记为“向下”,则负载平衡虚拟服务器将被标记为“向下”。

当状态更新被禁用时:

内容交换虚拟服务器的状态标记为 UP。即使没有绑定负载平衡是 UP 的虚拟服务器,它仍保持 UP 状态。

启用状态更新时:

当您添加新的内容切换虚拟服务器时,最初,其状态显示为 Down。绑定状态为 UP 的负载平衡虚拟服务器时,内容交换虚拟服务器的状态变为 UP。

如果绑定了多个负载平衡虚拟服务器,并且其中一个指定为默认服务器,则内容交换虚拟服务器的状态将反映默认负载平衡虚拟服务器的状态。

如果绑定了多个负载平衡虚拟服务器,但没有将其中任何一个指定为默认值,则只有当所有绑定负载平衡虚拟服务器都为 UP 时,才会将内容交换虚拟服务器的状态标记为“UP”。

使用命令行界面配置状态更新选项

在命令提示窗口中,键入:

add cs vserver <name> <protocol> <ipAddress> <port> -stateUpdate ENABLED

示例

 add cs vserver csw_vserver HTTP 10.18.250.154 80 -stateupdate ENABLED -cltTimeout 180

使用配置实用程序配置状态更新选项

  1. 导航到 流量管理 > 内容交换 > 虚拟服务器,配置虚拟服务器并将协议指定为 MySQL。
  2. 在“高级设置”中,选择“流量设置”,然后选择“状态更新”。

冲刷浪涌队列

当物理服务器收到大量请求时,响应当前连接到它的客户端会变得很慢,这会使用户不满意和不满。通常,重载也会导致客户端收到错误页面。为避免此类过载,Citrix ADC 设备提供了诸如浪涌保护等功能,该功能可控制与服务建立新连接的速率。

设备在客户端和物理服务器之间进行多路复用。当它收到访问服务器上服务的客户端请求时,设备会查找已建立的与服务器的连接是免费的。如果找到空闲连接,则会使用该连接在客户端和服务器之间建立虚拟链接。如果找不到现有的可用连接,则设备将与服务器建立新连接,并在客户端和服务器之间建立虚拟链接。但是,如果设备无法与服务器建立新连接,则会将客户端请求发送到浪涌队列。如果绑定到负载平衡或内容交换虚拟服务器的所有物理服务器都达到客户端连接上限(最大客户端值、浪涌保护阈值或服务的最大容量),则设备无法与任何服务器建立连接。浪涌保护功能使用浪涌队列来调节与物理服务器打开连接的速度。设备为绑定到虚拟服务器的每个服务维护不同的浪涌队列。

每当设备无法建立连接的请求发出时,浪涌队列的长度就会增加,而每当队列中的请求被发送到服务器或请求超时并从队列中移除时,浪涌队列的长度就会减少。

如果服务或服务组的浪涌队列变得太长,您可能需要刷新它。您可以刷新特定服务或服务组的浪涌队列,或绑定到负载平衡虚拟服务器的所有服务和服务组的浪涌队列。刷新浪涌队列不会影响现有连接。只有存在于浪涌队列中的请求才会被删除。对于这些请求,客户端必须提出新的请求。

还可以刷新内容交换虚拟服务器的浪涌队列。如果内容交换虚拟服务器将一些请求转发到特定的负载平衡虚拟服务器,并且负载平衡虚拟服务器也收到一些其他请求,则当您刷新内容交换虚拟服务器的浪涌队列时,仅从此内容切换接收到的请求虚拟服务器被刷新;负载平衡虚拟服务器的浪涌队列中的其他请求不会刷新。

注意

您无法刷新缓存重定向、身份验证、VPN 或 GSLB 虚拟服务器或 GSLB 服务的浪涌队列。 如果启用了“使用源 IP (USIP)”,请勿使用浪涌保护功能。

使用命令行界面刷新浪涌队列

flush ns surgeQ 命令的工作方式如下:

  • 您可以指定必须刷新其浪涌队列的服务、服务组或虚拟服务器的名称。
  • 如果您在执行命令时指定了名称,则将刷新指定实体的浪涌队列。如果多个实体具有相同的名称,设备会刷新所有这些实体的浪涌队列。
  • 如果在执行命令时指定服务组的名称以及服务器名称和端口,则设备将仅刷新指定服务组成员的浪涌队列。
  • <serverName> <port>如果不指定服务组 () 的名称,则无法直接指定服务组成员 (<name> 和),也无法指定 <port> 没有 <serverName>。<serverName> <port>如果要刷新特定服务组成员的浪涌队列,请指定和。
  • 如果在未指定任何名称的情况下执行命令,则设备会刷新设备上存在的所有实体的浪涌队列。
  • 如果服务组成员使用服务器名称标识,则必须在此命令中指定服务器名称;无法指定其 IP 地址。

在命令提示窗口中,键入:

flush ns surgeQ [-name <name>] [-serverName <serverName> <port>].

示例

1. flush ns surgeQ –name SVC1ANZGB –serverName 10.10.10.1 80
The above command flushes the surge queue of the service or virtual server that is named SVC1ANZGB and has IP address as 10.10.10

2. flush ns surgeQ
The above command flushes all the surge queues on the appliance.

使用配置实用程序刷新浪涌队列

导航到“流量管理”>“内容切换”>“虚拟服务器”,选择虚拟服务器,然后在“操作”列表中选择“刷新浪涌队列”。