规则

更新时间: 2025-03-24 11:06:37

ESA提供了通过创建自定义条件来组合各种功能配置的方式,帮助您限制特定功能在特定条件下生效。

当您为了对部分业务进行特殊的配置,如需要进行请求转换、内容重定向、配置缓存策略等常规配置,或针对安全防护、流量管控需要精细化管理,您可以通过规则功能使用相同的语法和配置逻辑来筛选出特定特征的请求,并为请求匹配需要执行的对应功能配置。

简单配置示例

配置特定路径下资源的边缘缓存时间

例如在/content路径下配置了以月度进行更新的静态资源,为平衡资源的持久性和及时性,可以将/content路径下的资源在ESA边缘节点上的缓存时间调整为30天。

  1. 配置请求过滤条件,可以选择下面任意一种方式:

    • 使用控制台控件配置:image

    • 使用表达式编辑器配置:

      (http.request.uri.path eq "/content")
  2. 配置执行边缘缓存时间:image

配置特殊请求的重定向规则

例如将来自中国内地的请求由example.com重定向到example.com.cn

  1. 配置请求过滤条件,可以选择下面任意一种方式:

    • 使用控制台控件配置:image

    • 使用表达式编辑器配置:

      (http.host eq "example.com" and ip.geoip.country eq "CN")
  2. 配置执行重定向目标URL:image

规则配置构成

当客户的请求达到ESA节点时,ESA会按照您的规则配置来对请求进行过滤并进行对应的处理。

image

ESA的规则配置都包含以下两个部分:

规则配置 = 规则表达式 + 规则执行动作

通过配置规则表达式,对请求进行过滤;通过配置规则执行动作,对匹配的请求执行操作。规则表达式的语法适用于ESA中所有的规则相关配置,因此您在一个功能的规则配置方法可以快速地迁移至其他功能的规则使用中,更多有关规则的创建及部署请参见:规则表达式的组成

生效优先级

  • 规则配置优先级高于全局配置:针对同一个功能,规则中配置的生效优先级更高。因此您可以在基础的通用功能配置上,通过规则来对特定的请求生效特定的功能配置。

    image

    以边缘节点缓存过期时间为例,若您在全局配置-边缘缓存过期时间中配置了边缘过期时间为12小时,并且在规则-配置边缘缓存过期时间中配置了/content下的资源在边缘节点上的过期时间为30天。那么当请求的资源路径在/content路径下时,边缘节点将把该资源的缓存过期时间调整为30天。对于请求的资源不在/content路径下,则在边缘节点中会统一调整缓存过期时间为12小时。

    image
  • 规则列表中顺序越靠前的优先级越高:针对同一个规则功能,规则执行的顺序是从上到下,依次执行。因此在实际业务使用中,当请求同时符合多个规则的触发条件时,您可以将您期望优先执行的动作通过拖拽image按钮调整至更靠上的位置。

    说明

    不同套餐支持的功能和规则条数不相同,各类型套餐的规则条数配额可参考:规则与套餐的配额说明

    以缓存规则为例,如果您同时存在以下2条规则:

    规则1:/content路径下的资源过期时间为30天。
    规则2:后缀为.jpg的文件缓存时间为60天。
    • 当如下图顺序配置了规则1的顺序在上,规则2的顺序在下。

      image

      对于不同的资源的在边缘节点上的缓存时间为:

      URI示例

      /content路径下

      .jpg后缀

      缓存过期时间

      https://example.com/content/static/pic.jpg

      p442272.png

      p442272.png

      30天

      https://example.com/content/static/book.txt

      p442272.png

      ×

      30天

      https://example.com/static/pic.jpg

      ×

      p442272.png

      60天

      https://example.com/static/res/book.text

      ×

      ×

      不缓存

    • 当如下图顺序配置了规则2的顺序在上,规则1的顺序在下。image

      对于不同的资源的在边缘节点上的缓存时间为:

      URI示例

      /content路径下

      .jpg后缀

      缓存过期时间

      https://example.com/content/static/pic.jpg

      p442272.png

      p442272.png

      60天

      https://example.com/content/static/book.txt

      p442272.png

      ×

      30天

      https://example.com/static/pic.jpg

      ×

      p442272.png

      60天

      https://example.com/static/res/book.text

      ×

      ×

      不缓存

不同套餐的支持情况

规则

基础版

标准版

高级版

企业版

安全规则

10条

25条

50条

125条

浏览器缓存过期时间

2小时

1小时

1秒

1秒

边缘缓存过期时间

2小时

1小时

1秒

1秒

自定义端口缓存

不支持

不支持

不支持

支持

缓存保持

不支持

不支持

不支持

支持

重新定向规则

10条

25条

50条

125条

网络优化规则

10条

25条

50条

100条

文件压缩

不支持

不支持

不支持

10条

上一篇: 自定义规则 下一篇: 快速上手