ESA提供了通过创建自定义条件来组合各种功能配置的方式,帮助您限制特定功能在特定条件下生效。
当您为了对部分业务进行特殊的配置,如需要进行请求转换、内容重定向、配置缓存策略等常规配置,或针对安全防护、流量管控需要精细化管理,您可以通过规则功能使用相同的语法和配置逻辑来筛选出特定特征的请求,并为请求匹配需要执行的对应功能配置。
简单配置示例
配置特殊请求的重定向规则
规则配置构成
当客户的请求达到ESA节点时,ESA会按照您的规则配置来对请求进行过滤并进行对应的处理。
ESA的规则配置都包含以下两个部分:
规则配置 = 规则表达式 + 规则执行动作
通过配置规则表达式,对请求进行过滤;通过配置规则执行动作,对匹配的请求执行操作。规则表达式的语法适用于ESA中所有的规则相关配置,因此您在一个功能的规则配置方法可以快速地迁移至其他功能的规则使用中,更多有关规则的创建及部署请参见:规则表达式的组成。
生效优先级
- 规则配置优先级高于全局配置:针对同一个功能,规则中配置的生效优先级更高。因此您可以在基础的通用功能配置上,通过规则来对特定的请求生效特定的功能配置。 - 以边缘节点缓存过期时间为例,若您在全局配置-边缘缓存过期时间中配置了边缘过期时间为12小时,并且在规则-配置边缘缓存过期时间中配置了 - /content下的资源在边缘节点上的过期时间为30天。那么当请求的资源路径在- /content路径下时,边缘节点将把该资源的缓存过期时间调整为30天。对于请求的资源不在- /content路径下,则在边缘节点中会统一调整缓存过期时间为12小时。
- 规则列表中顺序越靠前的优先级越高:针对同一个规则功能,规则执行的顺序是从上到下,依次执行。因此在实际业务使用中,当请求同时符合多个规则的触发条件时,您可以将您期望优先执行的动作通过拖拽  按钮调整至更靠上的位置。说明 按钮调整至更靠上的位置。说明- 不同套餐支持的功能和规则条数不相同,各类型套餐的规则条数配额可参考:规则与套餐的配额说明。 - 以缓存规则为例,如果您同时存在以下2条规则: - 规则1: - /content路径下的资源过期时间为30天。- 规则2:后缀为 - .jpg的文件缓存时间为60天。- 当如下图顺序配置了规则1的顺序在上,规则2的顺序在下。  - 对于不同的资源的在边缘节点上的缓存时间为: - URI示例 - 在 - /content路径下- .jpg后缀- 缓存过期时间 - https://example.com/content/static/pic.jpg   - 30天 - https://example.com/content/static/book.txt  - × - 30天 - https://example.com/static/pic.jpg - ×  - 60天 - https://example.com/static/res/book.text - × - × - 不缓存 
- 当如下图顺序配置了规则2的顺序在上,规则1的顺序在下。  - 对于不同的资源的在边缘节点上的缓存时间为: - URI示例 - 在 - /content路径下- .jpg后缀- 缓存过期时间 - https://example.com/content/static/pic.jpg   - 60天 - https://example.com/content/static/book.txt  - × - 30天 - https://example.com/static/pic.jpg - ×  - 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条 | 



