本文为您介绍EdgeScript的规则模型、执行位置与优先级、命中与中断执行,以及规则字段说明。

规则模型

EdgeScript的规则模型如下:
  • EdgeScript的规则模型的核心出发点,是将不同业务功能隔离至不同规则,以及控制规则的执行流。
  • EdgeScript的规则模型中的每条规则的地位都是平等的,可以各自选择规则的执行位置(即介入请求处理的位置)和优先级。
  • EdgeScript的规则模型具有域名粒度。

执行位置与优先级

EdgeScript的执行位置与优先级如下:
  • 执行位置
    EdgeScript规则的执行位置为请求处理开始和请求处理结尾。
    • 请求处理开始:常用应用场景为一次鉴权、拦截、限速等。
    • 请求处理结束:常用应用场景为缓存设置、回源鉴权、A/B Testing等。

    执行位置
  • 优先级

    处于同一执行位置的多条规则,可以通过选择优先级,决定其先后执行顺序。

命中与中断执行

EdgeScript的命中与中断执行如下:
  • EdgeScript规则的命中定义
    • 当规则结尾是以return true返回时:规则模型认为该规则命中。
    • 当规则结尾是以return false返回时:规则模型认为该规则未命中。
  • EdgeScript规则的中断执行

    对于命中规则,可以选择终止本阶段剩余规则的执行。

规则字段说明

一条EdgeScript规则,可配置字段如下表所示。
字段名称 是否必选 字段含义 字段说明
enable Y 是否生效。 取值范围:
  • on
  • off
pos Y 执行位置。 取值范围:
  • head
  • foot
pri Y 执行优先级。 取值范围:0~999。0表示优先级最高,999表示优先级最低。不同执行位置的优先级各自独立。
rule Y 规则内容。 -
brk N 本规则命中情况下,是否终止本阶段剩余规则的执行。 取值范围:
  • on
  • off
testip N 测试客户IP。 默认为空。如果配置了该参数,则只有客户端IP地址可触发本条规则执行。
option N 扩展项。 当前支持扩展。_es_dbg=signature用于增加调试响应头。