Citrix ADC

自定义基本内容交换配置

配置基本内容交换设置后,您可能需要对其进行自定义以满足您的要求。如果 Web 服务器基于 UNIX 并依赖于区分大小写的路径名,则可以配置区分大小写以进行策略评估。您还可以设置优先级以评估您配置的内容交换策略。您可以将 HTTP 和 SSL 内容交换虚拟服务器配置为侦听多个端口,而不是创建单独的虚拟服务器。如果要为特定的虚拟 LAN 配置内容交换,则可以使用监听策略配置内容交换虚拟服务器。

为策略评估配置区分大小写

您可以将内容交换虚拟服务器配置为在基于 URL 的策略中将 URL 视为区分大小写。配置区分大小写后,Citrix ADC 设备会在评估策略时考虑大小写。例如,如果区分大小写处于禁用状态,则将 URL /a/1.htm 和 /A/1.HTM 视为相同。如果区分大小写启用,那么这些 URL 将被视为单独的,并且可以切换到不同的目标。

使用命令行界面配置区分大小写的步骤

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

set cs vserver \<name\> -caseSensitive (ON|OFF)

示例

set cs vserver Vserver-CS-1 -caseSensitive ON

使用配置实用程序配置区分大小写的步骤

  1. 导航到流量管理”>“内容交换”>“虚拟服务器,然后打开虚拟服务器。
  2. 高级设置中,选择流量设置,然后选择区分大小写。

设置策略评估的优先级

优先级指的是评估绑定到虚拟服务器的策略的顺序。您不需要配置优先级,默认优先级通常正常工作。

您可以在以下情况下配置基于 URL 的优先级或基于规则的优先级:

  • 必须首先应用一个策略或一组策略
  • 仅当第一个策略或策略集与请求不匹配时,才应用另一个策略或策略集。

具有基于 URL 的策略的优先级

如果传入请求有多个匹配的 URL,则基于 URL 的策略的优先级(优先级)为:

  1. 域名和确切 URL
  2. 域、前缀和后缀
  3. 域和后缀
  4. 域和前缀
  5. 仅限域
  6. 准确的网址
  7. 前缀和后缀
  8. 仅后缀
  9. 仅前缀
  10. 默认值

如果您根据 URL 配置优先级,请求 URL 将与配置的 URL 进行比较。如果所配置的 URL 都不匹配请求 URL,则会检查基于规则的策略。如果请求 URL 与任何基于规则的策略不匹配,或者为请求选择的内容组关闭,则按以下方式处理请求:

  • 如果为内容交换虚拟服务器配置默认组,则请求将转发到默认组。
  • 如果已配置的默认组已关闭或没有配置默认组,则会向客户端发送 “HTTP 404 未找到” 错误消息。

注意

如果所有客户端的内容类型(例如图像)相同,则应配置基于 URL 的优先级。但是,如果必须根据客户端属性(如接受语言)提供不同类型的内容,则必须使用基于规则的优先级。

具有基于规则的策略的优先级

如果您根据规则配置优先级(这是默认设置),则会根据您配置的基于规则的策略对请求进行测试。如果请求与任何基于规则的策略不匹配,或者为传入请求选择的内容组关闭,则按照以下方式处理请求:

  • 如果为内容交换虚拟服务器配置了默认组,则请求将转发到默认组。
  • 如果已配置的默认组已关闭或没有配置默认组,则会向客户端发送 “HTTP 404 未找到” 错误消息。

使用命令行界面配置优先级

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

set cs vserver \<name\> -precedence ( RULE | URL )

示例

set cs vserver Vserver-CS-1 -precedence RULE

使用配置实用程序配置优先级

  1. 导航到流量管理”>“内容交换”>“虚拟服务器,然后打开虚拟服务器。
  2. 在“高级设置”中,选择流量设置,然后指定“优先级”。

支持 HTTP 和 SSL 类型内容交换虚拟服务器的多个端口

您可以配置 Citrix ADC,以便 HTTP 和 SSL 内容交换虚拟服务器在多个端口上侦听,而无需配置单独的虚拟服务器。如果您希望基于 URL 的一部分和其他 L7 参数来确定内容切换决策,此功能尤其有用。您可以配置一个 IP 地址并将端口指定为 *,而不是使用相同 IP 地址和不同端口配置多个虚拟服务器。因此,配置大小也会减小。

使用命令行配置 HTTP 或 SSL 内容切换虚拟服务器以侦听多个端口

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

add cs vserver \<name\> \<serviceType\> \<IPAddress\> Port \*

示例

> add cs vserver cs1 HTTP 10.102.92.215 *
 Done
> sh cs vserver cs1
        cs1 (10.102.92.215:*) - HTTP    Type: CONTENT
        State: UP
        Last state change was at Tue May 20 01:15:49 2014
        Time since last state change: 0 days, 00:00:03.270
        Client Idle Timeout: 180 sec
        Down state flush: ENABLED
        Disable Primary Vserver On Down : DISABLED
        Appflow logging: ENABLED
        Port Rewrite : DISABLED
        State Update: DISABLED
        Default:        Content Precedence: RULE
        Vserver IP and Port insertion: OFF
        L2Conn: OFF     Case Sensitivity: ON
        Authentication: OFF
        401 Based Authentication: OFF
        Push: DISABLED  Push VServer:
        Push Label Rule: none
        IcmpResponse: PASSIVE
        RHIstate:  PASSIVE
        TD: 0
 Done

使用配置实用程序将 HTTP 或 SSL 内容交换虚拟服务器配置为侦听多个端口

  1. 导航到 流量管理 > 内容交换 > 虚拟服务器,然后创建 HTTP 或 SSL 类型的虚拟服务器。
  2. 使用星号 (*) 指定端口。

配置每个 VLAN 通配符虚拟服务器

如果要为特定 VLAN 上的流量配置内容交换,则可以创建一个带有监听策略的通配符虚拟服务器,该策略将其限制为仅处理指定 VLAN 上的流量。

使用命令行界面配置侦听特定 VLAN 的通配符虚拟服务器

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

add cs vserver <name> <serviceType> IPAddress `* Port *` -listenpolicy <expression> [-listenpriority <positive_integer>]

示例

add cs vserver Vserver-CS-vlan1 ANY * *
-listenpolicy "CLIENT.VLAN.ID.EQ(2)"  -listenpriority 10

使用配置实用程序配置侦听特定 VLAN 的通配符虚拟服务器

导航到流量管理”>“内容交换”>“虚拟服务器,然后配置虚拟服务器。指定一个监听策略,该策略将其限制为仅在指定 VLAN 上处理流量。

创建此虚拟服务器后,将其绑定到一个或多个服务,如中所述 设置基本负载平衡

配置 Microsoft SQL Server 版本设置

您可以为 MSSQL 类型的内容交换虚拟服务器指定 Microsoft® SQL Server® 的版本。如果您希望某些客户端不运行与 Microsoft SQL Server 产品相同的版本,则建议使用版本设置。版本设置通过确保所有通信都符合服务器版本,从而提供客户端连接和服务器端连接之间的兼容性。

若要使用命令行界面设置 Microsoft SQL 服务器版本参数

在命令提示符下,键入以下命令以设置内容交换虚拟服务器的 Microsoft SQL Server 版本参数并验证配置:

  • set cs vserver \<name\> -mssqlServerVersion \<mssqlServerVersion\>
  • show cs vserver \<name\>

示例

> set cs vserver myMSSQLcsvip -mssqlServerVersion 2008R2 Done > show cs vserver myMSSQLcsvip myMSSQLcsvip (192.0.2.13:1433) - MSSQL Type: CONTENT State: UP . . . . . . MSsql Server Version: 2008R2 . . . . . . Done >

若要使用配置实用程序设置 Microsoft SQL 服务器版本参数

  1. 导航到 流量管理 > 内容切换 > 虚拟服务器,配置虚拟服务器,然后将协议指定为 MYSQL。
  2. 高级设置中,选择 MySQL,然后指定 服务器版本

为 UDP 虚拟服务器启用外部 TCP 运行状况检查

在公有云中,当将本机负载均衡器用作第一层时,您可以将 Citrix ADC 设备用作第二层负载均衡器。本机负载均衡器可以是应用程序负载均衡器 (ALB) 或网络负载均衡器 (NLB)。大多数公有云在其本机负载均衡器中不支持 UDP 运行状况探测器。为了监控 UDP 应用程序的运行状况,公有云建议将基于 TCP 的端点添加到您的服务中。端点反映 UDP 应用程序的运行状况。

Citrix ADC 设备支持对 UDP 虚拟服务器进行外部基于 TCP 的运行状况检查。此功能在内容交换虚拟服务器和配置端口的 VIP 上引入了 TCP 侦听器。TCP 侦听器反映虚拟服务器的状态。

使用 CLI 为 UDP 虚拟服务器启用外部 TCP 运行状况检查

在命令提示符处,键入以下命令以使用 TCPProbeport 选项启用外部 TCP 运行状况检查:

add cs vserver <name> <protocol> <IPAddress> <port> -tcpProbePort <tcpProbePort>

示例:

add cs vserver Vserver-CS-1 UDP 10.102.29.161 5002 -tcpProbePort 5000

使用 GUI 为 UDP 虚拟服务器启用外部 TCP 运行状况检查

  1. 导航到流量管理”>“内容切换”>“虚拟服务器,然后创建虚拟服务器。
  2. 单击 添加 创建虚拟服务器。
  3. 基本设置窗格中,在TCP 探测端口”字段中添加端口 号。
  4. 单击确定