ADC
感谢您提供反馈

这篇文章已经过机器翻译.放弃

在策略中配置高级策略表达式

您可以在策略中配置最多包含 1,499 个字符的高级策略表达式。高级策略表达式的用户界面在某种程度上取决于要为其配置表达式的功能,以及是为策略配置表达式还是为其他用途配置表达式。

在命令行上配置表达式时,可以使用引号(“.”或“.”)来分隔表达式。在表达式中,可以使用反斜杠 () 来转义额外的引号。例如,以下是在表达式中转义引号的标准方法:

"\"abc\""

‘\"abc\"’

还必须在命令行中使用反斜杠来转义问号和其他反斜杠。例如,表达式 http.req.url.包含(“?”)需要使用反斜杠才能解析问号。请注意,键入问号后,反斜杠字符将不会出现在命令行中。另一方面,如果您转义了一个反斜杠(例如,在表达式 ‘http.req.url.contains (“\\ http”) 中),转义字符会在命令行上回显。

为了使条目更具可读性,可以对整个表达式的引号进行转义。在表达式的开头输入转义序列“q”加上以下特殊字符之一:/{< ~$^+=&%@# 在策略中配置高级策略表达式

您可以在策略中配置最多包含 1,499 个字符的高级策略表达式。高级策略表达式的用户界面在某种程度上取决于要为其配置表达式的功能,以及是为策略配置表达式还是为其他用途配置表达式。

在命令行上配置表达式时,可以使用引号(“.”或“.”)来分隔表达式。在表达式中,可以使用反斜杠 () 来转义额外的引号。例如,以下是在表达式中转义引号的标准方法:

<!JEKYLL@5140@0>

<!JEKYLL@5140@1>

还必须在命令行中使用反斜杠来转义问号和其他反斜杠。例如,表达式 http.req.url.包含(“?”)需要使用反斜杠才能解析问号。请注意,键入问号后,反斜杠字符将不会出现在命令行中。另一方面,如果您转义了一个反斜杠(例如,在表达式 ‘http.req.url.contains (“\\ http”) 中),转义字符会在命令行上回显。

?.

只需在表达式末尾输入特殊字符,如下所示:

q@http.req.url.contains("sometext") && http.req.cookie.exists@ q~http.req.url.contains("sometext") && http.req.cookie.exists~

请注意,使用 {分隔符的表达式以} 关闭。

对于某些功能(例如,集成缓存和响应程序),策略配置对话框提供了用于配置表达式的辅助对话框。此对话框允许您从下拉列表中进行选择,这些下拉列表显示了表达式配置过程中每个点的可用使用这些配置对话框时不能使用算术运算符,但大多数其他高级策略表达式功能都可用。要使用算术运算符,请以自由格式编写表达式。

使用 CLI 配置高级策略语法规则

在命令提示符下,键入以下命令以配置高级策略规则并验证配置:

  1. add cache|dns|rewrite|cs policyName **-rule** expression featureSpecificParameters **-action**

  2. show cache|dns|rewrite|cs policyName 以下是配置缓存策略的示例:

    示例:

    > add cache policy pol-cache -rule http.req.content_length.le(5) -action INVAL Done > show cache policy pol-cache Name: pol-cache Rule: http.req.content_length.le(5) CacheAction: INVAL Invalidate groups: DEFAULT UndefAction: Use Global Hits: 0 Undef Hits: 0 Done

使用 GUI 配置高级策略表达式

  1. 在导航窗格中,单击要在其中配置策略的功能的名称,例如,可以选择集成缓存、响应程序、DNS、重写或内容切换,然后单击 略。

  2. 单击添加。

  3. 对于大多数要素,请单击表 达式 字段中的。对于内容切换,请单击 配置

  4. 单击“前缀”图标(房屋),然后从下拉列表中选择第一个表达式前缀。例如,在响应程序中,选项包括 HTTP、SYS 和 CLIENT。下一组适用选项显示在下拉列表中。

  5. 双击下一个选项将其选中,然后键入句点 (.)。同样,一组适用的选项会出现在另一个下拉列表中。

  6. 继续选择选项,直到出现输入字段(用括号表示)。当您看到输入字段时,请在括号中输入适当的值。例如,如果选择 GT (int)(大于,整数格式),则在括号中指定一个整数。文本字符串用引号分隔。下面是示例:

    HTTP.REQ.BODY(1000).BETWEEN("this","that")

  7. 要在复合表达式的两个部分之间插入运算符,请单击运算符图标(sigma),然后选择运算符类型。以下是已配置的表达式的示例,该表达式具有布尔值 OR(由双竖线表示,

    HTTP.REQ.URL.EQ("www.mycompany.com")||HTTP.REQ.BODY(1000).BETWEEN("this","that")

  8. 要插入命名表达式,请单击“添加”图标(加号)旁边的向下箭头,然后选择命名表达式。

  9. 要使用下拉菜单配置表达式以及插入内置表达式,请单击添加图标(加号)。“添加表达 式”对话框的工作方式与主对话框类似,但它提供了用于选择选项的下拉列表,并提供用于数据输入的文本字段而不是括号。此对话框还提供常用表达式下拉列表,用于插入常用表达式。添加完表达式后,单击“确定”

  10. 完成后,单击创建。状态栏中的消息将指示已成功配置策略表达式。

使用 GUI 测试高级策略表达式

  1. 在导航窗格中,单击要为其配置策略的功能的名称(例如,您可以选择集成缓存、响应程序、DNS、重写或内容切换),然后单击策略。
  2. 选择一个策略,然后单击 打开
  3. 要测试表达式,请单击评估图标(复选标记)。
  4. 在表达式赋值器对话框中,选择与表达式匹配的流类型。
  5. HTTP 请求数据HTTP 响应数据 字段中,粘贴要使用表达式解析的 HTTP 请求或响应,然后单击 评估。请注意,您必须提供完整的 HTTP 请求或响应,并且标头和正文应以空行分隔。一些捕获 HTTP 标头的程序不会同时捕获响应。如果只复制和粘贴标头,请在标头末尾插入空行以形成完整的 HTTP 请求或响应。
  6. 单击“ 闭”关闭此对话框。
本内容的正式版本为英文版。部分 Cloud Software Group 文档内容采用了机器翻译,仅供您参考。Cloud Software Group 无法控制机器翻译的内容,这些内容可能包含错误、不准确或不合适的语言。对于从英文原文翻译成任何其他语言的内容的准确性、可靠性、适用性或正确性,或者您的 Cloud Software Group 产品或服务沿用了任何机器翻译的内容,我们均不作任何明示或暗示的保证,并且适用的最终用户许可协议或服务条款或者与 Cloud Software Group 签订的任何其他协议(产品或服务与已进行机器翻译的任何文档保持一致)下的任何保证均不适用。对于因使用机器翻译的内容而引起的任何损害或问题,Cloud Software Group 不承担任何责任。
在策略中配置高级策略表达式