用例:ESI对动态获取和更新内容的支持
Edge Side Includes (ESI)是一种用于边缘级动态Web内容组装的标记语言。它通过定义一种简单的标记语言来描述可在网络边缘聚合、组装和交付的可缓存和不可缓存的Web页面组件,从而帮助加速基于Web的动态应用程序。通过使用Citrix ADC设备上的HTTP标注,您可以通读ESI构造并动态聚合或组装内容。
要实施此配置,必须执行以下任务:
- 在Citrix ADC设备上启用重写。
- 在设备上创建HTTP调用,并使用有关外部服务器和其他必需参数的详细信息对其进行配置。
- 配置一个重写操作,以使用调出响应主体替换ESI内容。
- 配置重写策略以指定执行操作的条件,然后全局绑定重写策略。
使重写
在Citrix ADC设备上使用重写之前,必须启用重写。以下过程描述了启用“重写”功能的步骤。
通过使用GUI来支持重写
- 确保已安装“重写”许可证。
- 在配置实用程序中,展开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)” |
使用配置实用程序配置重写操作
- 导航到AppExpert>重写>行动.
- 在详细信息窗格中,单击添加.
- 在创建重写操作对话框,在名称中,键入Action-Rewrite-1.
- 在类型中,选择取代.
在表示要选择目标文本引用,请键入以下高级策略表达式:
“HTTP.RES.BODY (500) .AFTER_STR(“< >”).BEFORE_STR(“< >”)”<!——NeedCopy >
在替换文本的字符串表达式中,键入以下字符串表达式:
“SYS.HTTP_CALLOUT (HTTP-Callout-2)”<!——NeedCopy >
- 点击创造,然后单击关闭.
创建重写策略并全局绑定
使用下表中所示的参数设置创建重写策略policy - rewrite -1。您可以在Policies子节点中创建重写策略,然后使用重写策略管理器全局绑定它。或者,您可以使用重写策略管理器同时执行这两个任务。本演示使用重写策略管理器来执行这两个任务。
表3。Policy-Rewrite-1的参数和值
参数 | 价值 |
---|---|
的名字 | Policy-Rewrite-1 |
行动 | 行动(重写) |
结果未定义的行为 | 全球undefined-result行动—— |
表示 | “HTTP.REQ.HEADER(“名字”)。包含(Callout)。不是“ |
使用配置实用程序配置重写策略并全局绑定它
- 导航到AppExpert>重写.
- 在详细信息窗格中,在策略管理器,点击重写策略经理.
- 在重写策略经理对话框中,单击覆盖全球.
- 点击插入政策,然后,在政策的名字列,单击新政策.
- 在创建重写策略对话框中,执行以下操作:1.在名称中,键入Policy-Rewrite-1。
- 在Action中,选择Action- rewrite -1。
- 在未定义结果操作中,选择全局未定义结果操作。
- 在表达式中,键入以下高级策略表达式:
“HTTP.REQ.HEADER(“名字”).CONTAINS (Callout)。不是“< !——NeedCopy >
- 点击创造,然后单击关闭.
- 点击申请更改,然后单击关闭.
用例:ESI对动态获取和更新内容的支持
收到了!
失败了!