tencent cloud

边缘安全加速平台 EO

动态与公告
产品动态
安全公告
产品公告
产品简介
产品概述
产品优势
应用场景
EdgeOne 与 CDN 等产品功能对比
使用限制
购买指南
试用套餐体验权益说明
免费版套餐使用说明
计费概述
计费项目
购买指引
续费指引
欠费与退款说明
套餐选型对比
关于“干净流量”计费说明
DDoS 防护容量说明
快速入门
选择业务场景
快速接入网站安全加速
通过 Pages 快速部署网站
域名服务与源站配置
域名服务
HTTPS 证书
源站配置
站点加速
概述
访问控制
智能加速
缓存配置
文件优化
网络优化
URL 重写
修改头部
修改应答内容
规则引擎
图片与视频处理
单连接下载限速
DDoS 与 Web 防护
概述
DDoS 防护
Web 防护
Bot 管理
API 资产识别(Beta)
边缘函数
概述
快速指引
操作指引
Runtime APIs
示例函数
实践教程
Pages
四层代理
概述
新建四层代理实例
修改四层代理实例配置
停用/删除四层代理实例
批量配置转发规则
获取客户端真实IP
数据分析与日志服务
日志服务
数据分析
告警服务
站点与计费管理
计费管理
站点管理
版本管理
通用策略
通用参考
配置语法
请求与响应行为
国家/地区及对应代码枚举
Terraform
Terraform 简介
安装和配置 Terraform
实践教程
自动预热/清除缓存
防盗刷/盗链实践
HTTPS 相关实践
加速优化
流量调度
数据分析与告警
第三方日志平台集成实践
对象存储类源站(例如:COS)配置实践
跨域响应配置
API 文档
History
Introduction
API Category
Making API Requests
Site APIs
Acceleration Domain Management APIs
Site Acceleration Configuration APIs
Edge Function APIs
Alias Domain APIs
Security Configuration APIs
Layer 4 Application Proxy APIs
Content Management APIs
Data Analysis APIs
Log Service APIs
Billing APIs
Certificate APIs
Origin Protection APIs
Load Balancing APIs
Diagnostic Tool APIs
Custom Response Page APIs
API Security APIs
DNS Record APIs
Content Identifier APIs
Legacy APIs
Ownership APIs
Image and Video Processing APIs
Multi-Channel Security Gateway APIs
Version Management APIs
Data Types
Error Codes
常见问题
产品特性相关问题
DNS 记录相关问题
域名配置相关问题
站点加速相关问题
数据与日志相关问题
安全防护相关问题
源站配置相关问题
排障指南
异常状态码参考
EdgeOne 4XX/5XX 状态码排障指南
520/524状态码排障指南
521/522 状态码排障指南
工具指南
相关协议
Service Level Agreement
源站防护启用特别约定
TEO 政策
隐私协议
数据处理和安全协议
联系我们
词汇表

概览

PDF
聚焦模式
字号
最后更新时间: 2024-08-01 21:32:16

功能简介

规则引擎旨在通过丰富的规则语言,满足更加灵活、细粒度的业务需求。您可按需自定义匹配类型,并应用于对应的操作。相较于站点加速侧的配置,规则引擎的优先级更高,即在规则引擎创建的自定义策略将覆盖站点加速的配置。

适用场景

站点加速侧的站点级配置无法覆盖全部业务需求,不同子域名,路径或文件后缀等匹配条件下存在差异化配置。
当前业务除了需要缓存,HTTPS 等基础配置,还需要自定义 Cache Key, URL 重写和修改 HTTP 头部等其他加速功能。

关键术语

定义
说明
规则
包含特定类型的请求以及应用于它们的一系列操作。
条件表达式
定义识别请求的逻辑,支持以下类别:
IF注1
ELSE IF
ELSE
匹配条件
定义识别请求的标准,包括:
匹配类型
运算符
And/Or
逻辑与/逻辑或,可连接多个匹配条件。
操作
命中的请求执行的一系列功能配置。
说明:

注1:
IF 语句可以嵌套在一层 IF 语句下,即执行内嵌 IF 语句之前必须先满足最外层 IF 语句。

规则生效优先级

范围
说明
站点加速 vs 规则引擎
若站点加速与规则引擎配置了同一个操作,则规则引擎优先级更高,为最终生效的配置。
规则引擎的单条规则内
如果 IF 语句内存在嵌套的 IF 条件,执行内嵌 IF 语句必须先满足最外层 IF 条件。
如果存在多个同级的 IF 条件,按 IF 条件的相对顺序,从上至下执行,即如果同时匹配到多条规则,下方规则的操作将覆盖上方的规则。
如果同时存在 IF、Else IF、Else,则满足其中任意一个 IF、Else IF 条件时,执行对应操作后结束,不会再继续匹配当前 IF 条件下的其它规则,如果都不满足,则按照 Else 规则内操作执行。
规则引擎内的多条规则
按相对顺序,从上至下执行。
提示:确定规则放置位置时,可将具有通用性或粗粒度的规则放在上方位置作为默认配置,针对特定请求或细粒度的规则放在下方位置。
注意:
有两种场景的执行较为特殊:
无论 Token 鉴权 不管出现在哪个位置,它始终是最先执行的。例如,如果一个请求同时命中了两条规则,即使 Token 鉴权操作在下方的规则中,它也会最先执行,鉴权通过才继续执行剩下的内容。
对于包含跳转逻辑的操作,如访问 URL 重定向和强制 HTTPS,它们的执行方式为 Break。这意味着,如果同一个请求命中了跳转操作和其他操作,那么在执行跳转操作后,将不再继续执行下方其他操作。

规则生效优先级示例

示例一:IF 条件内嵌套 IF 匹配

当前用户的节点缓存 TTL 规则配置如下所示,存在多层嵌套 IF 条件。



则用户请求的 URL 缓存行为按照如下行为生效:



当请求 URL 为:https://test.example.com/example/1.jpg时,文件缓存10分钟。
当请求 URL 为:https://test.example.com/example/1.mp4 时,文件不缓存。
当请求 URL 为:https://test.exampel.com/vidoe/1.jpg 时,不会匹配到该规则。

示例二:IF 条件内包含多个同级 Else IF 匹配

当前用户的节点缓存 TTL 规则配置如下所示,存在多个同级 Else IF 条件。



则用户请求的 URL 缓存行为按照如下行为生效:



当请求 URL 为:https://test.example.com/image/1.jpg 时,文件缓存7天。
当请求 URL 为:https://test.example.com/index/1.jsp 时,文件不缓存。
当请求 URL 为:https://test.exampel.com/admin/1.php 时,不缓存。

示例三:多个同级 IF 条件匹配

当前用户的节点缓存 TTL 规则配置如下所示,存在多个同级 IF 条件,则连续的 IF 条件,下方条件的生效优先级顺序最高。



则用户请求的 URL 缓存行为按照如下行为生效:



当请求 URL 为:https://test.example.com/image/1.jpg 时,文件缓存7天。
当请求 URL 为:https://test.example.com/admin/1.php 时,文件不缓存。
当请求 URL 为:https://test.exampel.com/admin/1.jpg 时,文件不缓存。
当请求 URL 为:https://test.exampel.com/index/1.txt 时,文件遵循源站 Cache-Control 头部设置,不存在该头部时,遵循 EdgeOne 默认缓存策略。


帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈