ADC

配置选择器

选择器是用于识别请求的过滤器。它最多包含五个单独的默认语法表达式,用于识别请求属性,例如客户端 IP 地址和请求中的 URL。每个表达式都是非复合的默认语法表达式,被认为与其他表达式处于 AND 关系。以下是选择器表达式的一些示例:

  • HTTP.REQ.URL
  • CLIENT.IP.SRC
  • HTTP.RES.BODY(1000).AFTER_STR("<string>").BEFORE_STR("<string>")"
  • CLIENT.IP.SRC.SUBNET(24)

选择器用于速率限制和操作分析配置。选择器在速率限制配置中是可选的,但在操作分析配置中是必需的。

指定参数的顺序非常重要。例如,如果您在一个选择器中配置 IP 地址和域(按该顺序),然后在另一个选择器中指定域和 IP 地址(以相反的顺序),Citrix ADC 将认为这些值是唯一的。这可能导致同一笔交易被计算两次。此外,如果多个策略调用同一个选择器,Citrix ADC 可以再次对同一事务进行多次计数。

如果在选择器中修改表达式,则如果调用该表达式的任何策略绑定到新的策略标签或绑定点,则可能会出现错误。例如,假设您创建了一个名为 myLimitSelector1 的选择器,从 myLimitID1 调用它,然后从名为 dnsRateLimit1 的 DNS 策略中调用该标识符。如果更改 myLimitSelector1 中的表达式,将 dnsRateLimit1 绑定到新绑定点时可能会收到错误消息。解决方法是在创建调用这些表达式的策略之前修改这些表达式。

Citrix ADC 设备为一些最常见的用例提供了内置选择器

您还可以使用标识所选请求属性的表达式配置选择器。例如,您可能想为带有特定标头的请求创建记录。要评估标题,您可以将 HTTP.REQ.HEADER("<header_name>") 添加到要使用的选择器中。

要使用命令行界面配置选择器,请执行以下操作

在命令提示符下,键入以下命令以配置选择器并验证配置:

  • add stream selector <name> <rule> ...
  • show stream selector

示例

> add stream selector myselector HTTP.REQ.URL CLIENT.IP.SRC
 Done
> show stream selector myselector
    Name: myselector
    Expressions:
        1) HTTP.REQ.URL
        2) CLIENT.IP.SRC
 Done
>
<!--NeedCopy-->

要使用命令行界面修改或删除选择器,请执行以下操作

  • 要修改选择器,请键入设置流选择器命令、选择器名称以及包含表达式的规则参数。输入要保留的现有表达式以及要添加的新表达式。
  • 要删除选择器,请键入 rm stream 选择器命令和选择器的名称。

要使用 GUI 配置选择器,请执行以下操作:

  1. 导航到 AppExpert > 操作分析 > 选择器
  2. 在详细信息窗格中,执行以下操作之一:
    • 要创建选择器,请单击 添加
    • 要修改选择器,请选择该选择器,然后单击 编辑
  3. 在“创建选择器”或“配置选择器”页面中,设置以下参数:
    • 名称。要为选择器添加名称,请在“名称”字段中输入名称。名称必须以 ASCII、字母数字或下划线字符开头。名称必须只包含 ASCII 字母数字、下划线、哈希、句点、空格、冒号、at、等号和连字符。
    • 表达式。要将表达式添加到选择器配置中,请单击 插入。若要从选择器配置中删除表达式,请在“表达式”框中选择该表达式,然后单击“删除”。注意:在表达式框中,输入有效的参数。例如,输入 HTTP。然后,在此参数之后输入一个句点。出现一个下拉菜单。此菜单的内容提供了可以跟随您输入的初始关键字的关键字。要选择此表达式前缀中的下一个关键字,请双击下拉菜单中的选择内容。表 达式 文本框同时显示表达式前缀的第一个和第二个关键字,例如 HTTP.REQ。继续添加表达式组件,直到形成完整的表达式。
  4. 单击“插入”。
  5. 继续添加最多五个非复合表达式。
  6. 单击 创建 然后单击 关闭
配置选择器