Citrix ADC

用例:ESI对动态获取和更新内容的支持

Edge Side Includes (ESI)是一种用于边缘级动态Web内容组装的标记语言。它通过定义一种简单的标记语言来描述可在网络边缘聚合、组装和交付的可缓存和不可缓存的Web页面组件,从而帮助加速基于Web的动态应用程序。通过使用Citrix ADC设备上的HTTP标注,您可以通读ESI构造并动态聚合或组装内容。

要实施此配置,必须执行以下任务:

  1. 在Citrix ADC设备上启用重写。
  2. 在设备上创建HTTP调用,并使用有关外部服务器和其他必需参数的详细信息对其进行配置。
  3. 配置一个重写操作,以使用调出响应主体替换ESI内容。
  4. 配置重写策略以指定执行操作的条件,然后全局绑定重写策略。

使重写

在Citrix ADC设备上使用重写之前,必须启用重写。以下过程描述了启用“重写”功能的步骤。

通过使用GUI来支持重写

  1. 确保已安装“重写”许可证。
  2. 在配置实用程序中,展开AppExpert,右键单击Rewrite,然后单击Enable Rewrite feature。

在Citrix ADC设备上创建HTTP调用

有关创建HTTP标注的详细信息,请参见配置HTTP Callout.有关参数值的详细信息,请参见HTTP-Callout-2的参数和值pdf。

配置重写操作

创建重写操作action - rewrite -1,以使用标注响应主体替换ESI内容。使用下表中所示的参数设置。

表2。Action-Rewrite-1的参数和值

参数 价值
的名字 Action-Rewrite-1
类型 取代
表达式来选择目标文本引用 “HTTP.RES.BODY(500)。AFTER_STR(\“<例子> \”)。BEFORE_STR(\“< / >示例\”)”
替换文本的字符串表达式 “SYS.HTTP_CALLOUT (HTTP-Callout-2)”

使用配置实用程序配置重写操作

  1. 导航到AppExpert>重写>行动
  2. 在详细信息窗格中,单击添加
  3. 创建重写操作对话框,在名称中,键入Action-Rewrite-1
  4. 在类型中,选择取代
  5. 表示要选择目标文本引用,请键入以下高级策略表达式:

    “HTTP.RES.BODY (500) .AFTER_STR(“< >”).BEFORE_STR(“< >”)”<!——NeedCopy >
  6. 在替换文本的字符串表达式中,键入以下字符串表达式:

    “SYS.HTTP_CALLOUT (HTTP-Callout-2)”<!——NeedCopy >
  7. 点击创造,然后单击关闭

创建重写策略并全局绑定

使用下表中所示的参数设置创建重写策略policy - rewrite -1。您可以在Policies子节点中创建重写策略,然后使用重写策略管理器全局绑定它。或者,您可以使用重写策略管理器同时执行这两个任务。本演示使用重写策略管理器来执行这两个任务。

表3。Policy-Rewrite-1的参数和值

参数 价值
的名字 Policy-Rewrite-1
行动 行动(重写)
结果未定义的行为 全球undefined-result行动——
表示 “HTTP.REQ.HEADER(“名字”)。包含(Callout)。不是“

使用配置实用程序配置重写策略并全局绑定它

  1. 导航到AppExpert>重写
  2. 在详细信息窗格中,在策略管理器,点击重写策略经理
  3. 重写策略经理对话框中,单击覆盖全球
  4. 点击插入政策,然后,在政策的名字列,单击新政策
  5. 创建重写策略对话框中,执行以下操作:1.在名称中,键入Policy-Rewrite-1。
    1. 在Action中,选择Action- rewrite -1。
    2. 在未定义结果操作中,选择全局未定义结果操作。
    3. 在表达式中,键入以下高级策略表达式:
    “HTTP.REQ.HEADER(“名字”).CONTAINS (Callout)。不是“< !——NeedCopy >
    1. 点击创造,然后单击关闭
  6. 点击申请更改,然后单击关闭
用例:ESI对动态获取和更新内容的支持