ADC

经典和高级策略表达方式

策略的最基本组成部分之一是其规则。策略规则是允许策略分析流量的逻辑表达式。策略的大部分功能都来自其表达式。

表达式将流量或其他数据的特征与一个或多个参数和值进行匹配。例如,表达式可使 Citrix ADC 能够完成以下任务:

  • 确定请求是否包含证书。
  • 确定发送 TCP 请求的客户端的 IP 地址。
  • 识别 HTTP 请求包含的数据(例如,常用电子表格或文字处理应用程序)。
  • 计算 HTTP 请求的长度。

关于经典表达式

通过经典表达式,您可以评估数据的基本特征。它们具有执行字符串匹配和其他操作的结构化语法。

下面是经典表达式的几个简单示例:

  • HTTP 响应包含特定类型的缓存控制标头。

res.http 头高速缓存控件包含公共

  • HTTP 响应包含图像数据。

res.http 标头 Content-Type 包含图像

  • SSL 请求包含证书。

req.ssl.client.cert exists

关于高级策略表达式

使用默认语法策略的任何功能也使用高级表达式。有关哪些功能使用高级策略的信息,请参阅表 Citrix ADC 功能、策略类型和策略使用情况

高级策略表达式还有一些其他用途。除了在策略规则中配置高级表达式外,还可以在以下情况下配置高级 表达式:

  • 集成缓存:

    您可以使用高级策略表达式为集成缓存中的内容组配置选择器。

  • 负载平衡:

    您可以使用高级策略表达式为使用 TOKEN 方法进行负载平衡的负载平衡虚拟服务器配置令牌提取。

  • 重写:

    您可以使用高级策略表达式配置重写操作。

  • 基于速率的策略:

    在配置策略以控制流向各种服务器的流量速率时,可以使用高级策略表达式配置限制选择器。

下面是高级策略表达式的几个简单示例:

  • HTTP 请求 URL 包含的字符不超过 500 个。

http.req.url.length \<= 500

  • HTTP 请求包含少于 500 个字符的 cookie。

http.req.cookie.length \< 500

  • HTTP 请求 URL 包含特定的文本字符串。

http.req.url.contains(".html")

经典和高级策略表达方式