Citrix ADC

配置策略标签或虚拟服务器策略库

创建策略并通过绑定策略创建策略库后,您可以在标签或策略库中执行其他策略配置。例如,在配置外部策略库的调用之前,您可能需要等到配置该策略库。

本主题包括以下几个部分:

  • 配置策略标签
  • 为虚拟服务器配置策略库

配置策略标签

策略标签由一组策略以及其他策略标签和虚拟服务器特定策略库的调用组成。借助 Invoke 参数,您可以从任何其他策略库调用策略标签或特定于虚拟服务器的策略库。通过特殊用途的 NOPOLICY 条目,您可以在不处理表达式(规则)的情况下调用外部银行。Nopolicy 条目是一个不包含规则的“虚拟”策略。

要从 Citrix ADC 命令行配置策略标签,请注意以下命令语法的说明:

  • Gotopriity 表达式配置如表 2 所述。使用高级策略绑定策略中的“策略银行中的条目”部分的“策略银行”中的每个条目的格式。
  • 类型参数是必需的。这与约束经典策略不同,其中此参数是可选的。
  • 您可以使用与调用策略标签相同的方法来调用绑定到虚拟服务器的策略库。

使用 CLI 配置策略标签

在命令提示符处,键入以下命令以配置策略标签并验证配置:

-  bind cache|rewrite|responder policylabel <policylabelName> -policyName <policyName> -priority <priority> [-gotoPriorityExpression <gotopriorityExpression>] [-invoke reqvserver|resvserver|policylabel <policyLabelName>|<vserverName>]  

-  show cache|rewrite|responder policylabel <policylabelName>  

示例:

bind cache policylabel _reqBuiltinDefaults -policyName  _nonGetReq -priority 100
Done
show cache policylabel _reqBuiltinDefaults
            Label Name: _reqBuiltinDefaults
            Evaluates: REQ
            Number of bound policies: 3
            Number of times invoked: 0
    1)      Policy Name: _nonGetReq
            Priority: 100
            GotoPriorityExpression: END
    2)      Policy Name: _advancedConditionalReq
            Priority: 200
            GotoPriorityExpression: END

    3)      Policy Name: _personalizedReq
            Priority: 300
            GotoPriorityExpression: END
Done

使用 CLI 从具有 NOPOLICY 条目的重写策略银行调用策略标签

在命令提示符下,键入以下命令以从具有 NOPOLICY 条目的重写策略库调用策略标签并验证配置:

-  bind rewrite global <policyName> <priority> <gotoPriorityExpression> -type REQ_OVERRIDE|REQ_DEFAULT|RES_OVERRIDE|RES_DEFAULT -invoke reqvserver|resvserver|policylabel <policyLabelName>|<vserverName>

-  show rewrite global  

示例:

> bind rewrite global NOPOLICY 100 -type REQ_DEFAULT -invoke policylabel lbl-rewrt-pol
Done
> show rewrite global
    1)      Global bindpoint: REQ_DEFAULT
            Number of bound policies: 1

    2)      Global bindpoint: REQ_OVERRIDE
            Number of bound policies: 1
Done

使用 CLI 从集成缓存策略库调用策略标签

在命令提示符处,键入以下命令以从集成缓存策略库调用策略标签并验证配置:

-  bind cache global NOPOLICY -priority <priority> -gotoPriorityExpression <gotopriorityExpression> -type REQ_OVERRIDE|REQ_DEFAULT|RES_OVERRIDE|RES_DEFAULT -invoke reqvserver|resvserver|policylabel <policyLabelName>|<vserverName>  

-  show cache global  

示例:

bind cache global NOPOLICY -priority 100 -gotoPriorityExpression END -type REQ_DEFAULT -invoke policylabel lbl-cache-pol
Done
> show cache global
    1)      Global bindpoint: REQ_DEFAULT
            Number of bound policies: 2

    2)      Global bindpoint: RES_DEFAULT
            Number of bound policies: 1

Done

使用 CLI 从响应程序策略库调用策略标签

在命令提示符处,键入以下命令以从响应程序策略库调用策略标签并验证配置:

-  bind responder global NOPOLICY <priority> <gotopriorityExpression> -type OVERRIDE|DEFAULT -invoke vserver|policylabel <policyLabelName>|<vserverName>  

-  show responder global  

示例:

> bind responder global NOPOLICY 100 NEXT -type DEFAULT -invoke policylabel lbl-respndr-pol
Done
> show responder global
    1)      Global bindpoint: REQ_DEFAULT
            Number of bound policies: 2

Done

使用 GUI 配置策略标签

  1. 在导航窗格中,展开要为其配置策略标签的功能,然后单击策略标签。选择是集成缓存、重写或响应程序。
  2. 在详细信息窗格中,双击要配置的标签。
  3. 如果要向此策略标签添加新策略,请单击“插入策略”,然后在“策略名称”字段中选择“新建策略”。有关添加策略的更多信息,请参阅 创建或修改策略。请注意,如果您正在调用策略库,并且不希望在调用之前评估规则,请单击“插入策略”,然后在“策略名称”字段中选择 NOOPICE。
  4. 对于此策略标签中的每个条目,请配置以下内容:

    • 策略名称:

      这已由您在此库中插入的策略名称、新策略或 NOPOLICY 条目确定。

    • 优先级:

      一个数值,用于确定库中的绝对评估顺序,或与 Goto 表达式结合使用。

    • 表达式:

      策略规则。以下章节将详细介绍策略表达方式。有关说明,请参阅 配置高级策略表达式:开始

    • 操作:

      如果此策略的计算结果为 TRUE,则要执行的操作。

    • Goto 表达式:

      可选。用于增强优先级级别以确定要评估的下一个策略或策略库。有关 Goto 表达式的可能值的详细信息,请参阅表 2。使用高级策略绑定策略中的“策略银行中的条目”部分的“策略银行”中的每个条目的格式。

    • 调用:

      可选。调用另一个策略银行。

  5. 单击确定。状态栏中的消息指示已成功配置策略标签。

为虚拟服务器配置策略库

您可以为虚拟服务器配置策略库。策略库可以包含单个策略,策略库中的每个条目都可以选择调用您为其他虚拟服务器配置的策略标签或策略库。如果您调用策略标签或策略库,则可以通过选择 NOPOLICY“虚拟”条目而不是策略名称来执行此操作,而不触发表达式(规则)。

使用 CLI 将策略添加到虚拟服务器策略库

在命令提示符下,键入以下命令以将策略添加到虚拟服务器策略库并验证配置:

-  bind lb|cs vserver <virtualServerName> <serviceType> [-policyName <policyName>] [-priority <positiveInteger>] [-gotoPriorityExpression <expression>] [-type REQUEST|RESPONSE]  

-  show lb|cs vserver <virtualServerName>  

示例:

add lb vserver vs-cont-sw TCP
Done
show lb vserver vs-cont-sw
            vs-cont-sw (0.0.0.0:0) - TCP    Type: ADDRESS
            State: DOWN
            Last state change was at Wed Aug 19 10:04:02 2009 (+279 ms)
            Time since last state change: 0 days, 00:02:14.420
            Effective State: DOWN
            Client Idle Timeout: 9000 sec
            Down state flush: ENABLED
            Disable Primary Vserver On Down : DISABLED
            No. of Bound Services :  0 (Total)       0 (Active)
            Configured Method: LEASTCONNECTION
            Mode: IP
            Persistence: NONE
            Connection Failover: DISABLED
Done

通过使用 CLI 从带有 NOPOLICY 条目的虚拟服务器策略库调用策略标签

在命令提示符下,键入以下命令以从具有 NOPOLICY 条目的虚拟服务器策略库调用策略标签并验证配置:

-  bind lb|cs vserver <virtualServerName> -policyName NOPOLICY_REWRITE|NOPOLICY_CACHE|NOPOLICY_RESPONDER -priority <integer> -type REQUEST|RESPONSE -gotoPriorityExpression <gotopriorityExpression> -invoke reqVserver|resVserver|policyLabel <vserverName>|<labelName>  

-  show lb vserver  

示例:

> bind lb vserver vs-cont-sw -policyname NOPOLICY-REWRITE -priority 200 -type REQUEST -gotoPriorityExpression NEXT -invoke policyLabel lbl-rewrt-pol
Done

使用 GUI 配置虚拟服务器策略库

  1. 在左侧导航窗格中,展开**流量管理** > 负载平衡”、流量管理 > 内容切换”、流量管理 > SSL 卸载”、安全 > AAA-应用程序流量Citrix Gateway(如适用),然后单击 虚拟服务器。
  2. 在详细信息窗格中,选择要配置的虚拟服务器,然后单击打开
  3. 配置虚拟服务器对话框中,单击策略选项卡。
  4. 若要在此库中创建新策略,请单击要添加到虚拟服务器的策略库中的策略或策略标签类型的图标,单击插入策略。请注意,如果您希望在不评估策略规则的情况下调用策略标签,请选择 NOPOLICY“虚拟”策略。
  5. 要配置此策略库中的现有条目,请输入以下内容:

    • 优先级:

      确定库中的绝对评估顺序或与 Goto 表达式结合使用的数字值。

    • 表达式:

      策略规则。以下章节将详细介绍策略表达方式。有关说明,请参阅 配置高级策略表达式:入门

    • 操作:

      如果此策略的计算结果为 TRUE,则要执行的操作。

    • Goto 表达式:

      可选。确定下一个策略或策略银行评估。有关 Goto 表达式的可能值的详细信息,请参阅使用高级策略绑定策略中的“策略库中的条目”部分。

    • 调用:

      可选。要调用其他策略库,请选择要调用的策略标签或虚拟服务器策略库的名称。

  6. 单击确定。状态栏中的消息指示策略配置成功。

配置策略标签或虚拟服务器策略库