规则

更新时间:2025-03-24 03: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后缀

      缓存过期时间

      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后缀

      缓存过期时间

      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

  • 本页导读
  • 简单配置示例
  • 配置特定路径下资源的边缘缓存时间
  • 配置特殊请求的重定向规则
  • 规则配置构成
  • 生效优先级
  • 不同套餐的支持情况
AI助理

点击开启售前

在线咨询服务

你好,我是AI助理

可以解答问题、推荐解决方案等