ADC

自定义基本内容切换配置

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

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

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

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

在命令提示符下,键入:

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

示例

set cs vserver Vserver-CS-1 -caseSensitive ON
<!--NeedCopy-->

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

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

设置策略评估的优先级

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

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

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

基于 URL 的策略的优先级

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

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

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

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

注意

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

基于规则的策略的优先级

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

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

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

在命令提示符下,键入:

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
<!--NeedCopy-->

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

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

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

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

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

在命令提示符下,键入:

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

示例

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

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

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

创建此虚拟服务器后,按照 安装程序基本负载平衡中所述将其绑定到一个或多个服务。

配置 Microsoft SQL Server 版本设置

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

使用命令行界面设置 Microsoft SQL Server 版本参数

在命令提示符下,键入以下命令为内容交换虚拟服务器设置 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 >
<!--NeedCopy-->

使用配置实用程序设置 Microsoft SQL Server 版本参数

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

为 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>
<!--NeedCopy-->

示例:

add cs vserver Vserver-CS-1 UDP 10.102.29.161 5002 -tcpProbePort 5000
<!--NeedCopy-->

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

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