Citrix ADC

绑定重写策略

创建重写策略后,您必须绑定该策略才能使其生效。如果要将策略应用于通过 Citrix ADC 的所有流量,则可以将策略绑定到 Global,或者可以将策略绑定到特定虚拟服务器或绑定点,以便仅将该虚拟服务器或绑定点的传入流量引导到该策略。如果传入请求与重写策略匹配,则执行与该策略关联的操作。

用于评估 HTTP 请求和响应的重写策略可以绑定到 HTTP 或 SSL 类型的虚拟服务器,也可以绑定到 REQ_Override、 REQ_DEFAULT、RES_OVER 和 RES_DEFAULT 绑定点。TCP 重写的重写策略只能绑定到 TCP 或 SSL_TCP 类型的虚拟服务器,或者绑定到其他服务器重写、其他服务器重写默认值、其他服务重写和 其他服务重写绑定点。

注意:术语 OTHERTCP 用于 Citrix ADC 设备的上下文中,用于指要将其视为原始字节流的所有 TCP 或 SSL_TCP 请求和响应,而不考虑 TCP 数据包封装的协议。

绑定策略时,您将为其分配优先级。优先级决定了您定义的策略的评估顺序。您可以将优先级设置为任何正整数。

在 Citrix ADC 操作系统中,策略优先级的工作顺序相反-数值越高,优先级越低。例如,如果您有三个策略的优先级为 10、100 和 1000,则首先应用分配优先级为 10 的策略,然后策略分配优先级为 100 的策略,最后策略分配了 1000 的顺序。

与 Citrix ADC 操作系统中的大多数其他功能不同,重写功能会在请求匹配策略后继续评估和实施策略。但是,特定操作策略对请求或响应的影响通常会有所不同,具体取决于它是在另一个操作之前还是之后执行的。优先级对于获得您预期的结果非常重要。

您可以为自己留出足够的空间来按任意顺序添加其他策略,并通过在绑定每个策略时将优先级设置为 50 或 100 的时间间隔来按照您想要的顺序进行评估。如果执行此操作,您可以随时添加其他策略,而无需重新分配现有策略的优先级。

绑定重写策略时,您还可以选择为策略分配 goto 表达式(GotopriorityEx表达式)。goto 表达式可以是任何与分配给其他策略的优先级相匹配的正整数,该策略的优先级高于包含 goto 表达式的策略。如果将 goto 表达式分配给策略,并且请求或响应与策略匹配,Citrix ADC 将立即转到其优先级与 goto 表达式匹配的策略。它将跳过优先级编号低于当前策略,但高于 goto 表达式的优先级编号的任何策略,并且不评估这些策略。

使用命令行界面全局绑定重写策略

在命令提示符处,键入以下命令以全局绑定重写策略并验证配置:

  • bind rewrite global <policyName> <priority> [<gotoPriorityExpression>] [-type <type>] [-invoke (<labelType> <labelName>)]
  • show rewrite global

示例


>bind rewrite global policyNew 10
 Done

> show rewrite global
1)      Global bindpoint: RES_DEFAULT
        Number of bound policies: 1

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

 Done

使用命令行界面将重写策略绑定到特定虚拟服务器

在命令提示符下,键入以下命令以将重写策略绑定到特定虚拟服务器并验证配置:

  • bind lb vserver <name>@ (<serviceName>@ [-weight <positive_integer>]) | <serviceGroupName>@ | (-policyName <string>@ [-priority <positive_integer>] [-gotoPriorityExpression <expression>] [-type ( REQUEST | RESPONSE )] [-invoke (<labelType> <labelName>)] )
  • show lb vserver <name>

示例

> bind lb vserver lbvip -policyName ns_cmp_msapp -priority 50
 Done
>
> show lb vserver lbvip
        lbvip (8.7.6.6:80) - HTTP       Type: ADDRESS
        State: DOWN
        Last state change was at Wed Jul 15 05:54:24 2009 (+226 ms)
        Time since last state change: 28 days, 01:57:26.350
        Effective State: DOWN
        Client Idle Timeout: 180 sec
        Down state flush: ENABLED
        Disable Primary Vserver On Down : DISABLED
        Port Rewrite : DISABLED
        No. of Bound Services :  0 (Total)       0 (Active)
        Configured Method: LEASTCONNECTION
        Mode: IP
        Persistence: NONE
        Vserver IP and Port insertion: OFF
        Push: DISABLED  Push VServer:
        Push Multi Clients: NO
        Push Label Rule: none

1)      Policy : ns_cmp_msapp Priority:50
2)      Policy : cf-pol Priority:1      Inherited
 Done

使用配置实用程序将重写策略绑定到绑定点

  1. 导航至 AppExpert > 重写 > 策略
  2. 在详细信息窗格中,选择要全局绑定的重写策略,然后单击策略管理器
  3. 重写策略管理器对话框的绑定点菜单中,执行以下操作之一:
    1. 如果要为 HTTP 重写策略配置绑定,请单击 HTTP,然后单击请求响应,具体取决于您是要配置基于请求的重写策略还是基于响应的重写策略。
    2. 如果要为 TCP 重写策略配置绑定,请单击 TCP,然后单击客户端服务器,具体取决于您是要配置客户端 TCP 重写策略还是服务器端 TCP 重写策略。
  4. 单击要绑定重写策略的绑定点。重写策略管理器对话框显示绑定到所选绑定点的所有重写策略。
  5. 单击插入策略插入新行并显示一个下拉列表,其中包含所有可用、未绑定的重写策略。
  6. 单击要绑定到绑定点的策略。策略将插入绑定到绑定点的重写策略列表中。
  7. 优先级列中,您可以将优先级更改为任何正整数。有关此参数的详细信息,请参阅“用于绑定重写策略的参数”中的优先级。
  8. 如果要跳过策略并在当前策略匹配时直接转到特定策略,请将转到表达式列中的值更改为等于下一个要应用的策略的优先级。有关此参数的详细信息,请参阅“用于绑定重写策略的参数”中的 gotoPriorityExpression。
  9. 若要修改策略,请单击该策略,然后单击修改策略
  10. 若要取消绑定策略,请单击该策略,然后单击取消绑定策略
  11. 若要修改操作,请在“操作”列中单击要修改的操作,然后单击修改操作
  12. 要修改调用标签,请在Invoke列中单击要修改的调用标签,然后单击修改调用标签
  13. 要重新生成绑定到当前正在配置的绑定点的所有策略的优先级,请单击重新生成优先级。相对于其他策略,这些策略保留了现有的优先次序,但优先次序重新编号为 10 倍。
  14. 单击应用更改
  15. 单击关闭。状态栏中将显示一条消息,指出已成功配置策略。

使用配置实用程序将重写策略绑定到特定虚拟服务器

  1. 导航到流量管理 > 负载平衡 > 虚拟服务器
  2. 在虚拟服务器的详细信息窗格列表中,选择要绑定重写策略的虚拟服务器,然后单击打开
  3. 配置虚拟服务器(负载平衡) 对话框中,选择策略选项卡。在 Citrix ADC 上配置的所有策略都显示在列表中。
  4. 选中要绑定到此虚拟服务器的策略名称旁边的复选框。
  5. 单击确定。状态栏中将显示一条消息,指出已成功配置策略。