一、支持的匹配类型
下表为规则引擎支持的各匹配类型说明:
注意:说明:
注意:1. URL Path 支持通配符匹配,例如当 URL Path 的值为/foo/*/bar,则 /foo/example/bar和/foo/demo/bar都是将命中该规则;
注意:2. URL Path、URL Full、查询字符串、文件后缀、文件名称、HTTP 请求头均支持开启忽略大小写(默认为关闭,即大写与小写视为不同值);
注意:3. 当匹配条件选择响应特征(HTTP 响应头,HTTP 响应状态码)后,不允许再 AND 或者 OR 任意其它请求特征匹配条件;
注意:4. 响应特征(HTTP 响应头,HTTP 响应状态码)匹配必须在最内层,即如果配置了 2 层 IF,则响应特征必须在内嵌 IF 里。
| 类型 | 说明 | 值(示例) |
| HOST | 请求 Host | www.example.com |
| URL Path | 请求 URL 路径 | 若需要匹配到 /example/foo/bar 路径,则运算符选择 等于,值填写:/example/foo/bar若需要匹配到 /example 目录以及目录下的所有文件,则运算符选择 等于,值填写:/example/* |
| URL Full | 请求 URL 完整内容,包含协议、域名、URL Path 以及查询字符串 | 若需要完全匹配到 https://www.example.com/foo.jpg 路径,则运算符选择 等于,值填写:https://www.example.com/foo.jpg若需要匹配到 https://www.example.com/foo.jpg 以及携带查询字符串的路径,则运算符选择 正则匹配,值填写:https://www\\.example\\.com/foo\\.jpg($|\\?)若需要匹配到 https://www.example.com/foo.jpg 以及携带查询字符串 test 的路径,则运算符选择 正则匹配,值填写 https://www\\.example\\.com/foo\\.jpg($|\\?.*test=) |
| 查询字符串 | 请求 URL 中的查询字符串 | 参数名:key 参数值:value |
| 文件后缀 | 请求内容的文件后缀(文件扩展名) | jpg、png、css |
| 文件名称 | 请求内容的文件名称 | foo.txt |
| HTTP 请求头 | HTTP 请求头部 | HTTP 请求头部名称:nameHTTP 请求头部值:value |
| 客户端地理位置 | 客户端 IP 所在国家/地区 | 美国 |
| 请求协议 | 客户端请求的协议类型 | HTTPS 或 HTTP |
| 客户端 IP | 请求的客户端 IP | 支持输入 IP 或 IP 段。示例如下:IPv4:192.168.0.0 或 192.168.0.0/24。其中,0.0.0.0/0表示匹配所有 IPv4 地址。IPv6:2001:db8:1234::1 或 2001:db8::/32。其中 ::/0表示匹配所有 IPv6 地址。 |
| 客户端运营商 | 客户端 IP 所属运营商。 | 枚举值为中国联通、中国电信、中国移动,支持多选。若希望实现分运营商回源,可匹配对应运营商,设置「修改源站」操作。 |
| 请求方法 | 客户端请求的方法 | 支持的方法如下,可多选。GET、HEAD、POST、PUT、DELETE、TRACE、CONNECT、OPTIONS、PATCH、COPY、LOCK、MKCOL、MOVE、PROPFIND、PROPPATCH、UNLOCK。 |
| Cookie | Cookie 请求头 | 参数名称:key 参数值:value |
| HTTP 响应头 | HTTP 响应头部 | HTTP 响应头部名称:nameHTTP 响应头部值:value |
| HTTP 响应状态码 | HTTP 响应状态码 | 支持下拉框选择以及自定义输入状态码。 |
| 全部 | 站点任意请求 | N/A |
二、运算符
| 类型 | 说明 |
| 等于 | 请求等于任一指定值(对应匹配类型的值) |
| 不等于 | 请求不等于任一指定值(对应匹配类型的值) |
| 存在 | 任一指定值出现在请求中(请求 HTTP 头部名称或查询参数的参数名称) |
| 不存在 | 任一指定值不出现在请求中(请求 HTTP 头部名称或查询参数的参数名称) |
| 正则匹配 | 支持 Google RE2 正则表达式匹配,当匹配类型为 URL Path、URL Full、查询字符串、文件后缀、文件名称、HTTP 请求头、HTTP 响应头、请求方法、Cookie 时可支持使用正则匹配。 |
| 正则不匹配 | 支持 Google RE2 正则表达式匹配,当匹配类型为 URL Path、URL Full、查询字符串、文件后缀、文件名称、HTTP 请求头、请求方法、Cookie 时可支持使用正则不匹配。 |
三、缓存配置
| 操作 | 说明 | 支持的匹配类型 |
| 节点缓存 TTL | 调整资源在节点中缓存的时间长短,优化节点缓存,提升请求资源的加载速度,及时淘汰旧资源。 | HOSTURL FULLURL Path查询字符串文件名称文件后缀HTTP 请求头客户端地理位置请求协议客户端 IPCookie全部(站点任意请求) |
| 浏览器缓存 TTL | 调整资源在浏览器缓存的时间长短,优化浏览器缓存,提升请求资源的加载速度。 | HOSTURL FULLURL Path文件名称文件后缀查询字符串客户端地理位置客户端 IP请求方法CookieHTTP 响应头HTTP 响应状态码全部(站点任意请求) |
| 自定义 Cache Key | 支持通过调整资源 URL 中的查询字符串和配置忽略大小写,拼接 HTTP 标头等,自定义调整资源 Cache Key,优化节点缓存,根据不同场景响应对应的资源,提升请求资源的加载速度。 | HOSTURL FULLURL Path文件名称文件后缀查询字符串HTTP 请求头客户端地理位置客户端 IPCookie全部(站点任意请求) |
| 状态码缓存 TTL | 配置源站响应状态码在节点的缓存时间,由节点直接响应非2xx异常状态码,减轻源站压力。 | HOSTURL FULLURL Path文件名称文件后缀查询字符串Cookie全部(站点任意请求) |
| 缓存预刷新 | 在缓存资源过期之前就回源验证缓存资源是否有效,不用等到过期后再验证,提升站点加速性能,更快响应请求。 | HOSTURL FULLURL Path文件名称文件后缀Cookie全部(站点任意请求) |
| 离线缓存 | 启用离线缓存后,当你的源站故障,即无法正常回源拉取资源时,可使用节点中已缓存的资源(即使资源已过期),直到源站恢复。 | HOSTURL FULLURL Path文件名称文件后缀查询字符串HTTP Request Header客户端地理位置客户端 IPCookie全部(站点任意请求) |
四、网络优化
| 操作 | 说明 | 支持的匹配类型 |
| HTTP/2 | 支持 HTTP/2 (HTTP 2.0) 请求,加速站点、提升 Web 性能。 | HOST全部(站点任意请求) |
| HTTP/3 (QUIC) | 支持 HTTP/3 (QUIC) 请求,使用 HTTP/3 (QUIC) 加速站点请求,提升数据传输效率及安全性。 | HOST全部(站点任意请求) |
| WebSocket | 支持 WebSocket 协议,使用 WebSocket 协议使得服务端可主动向客户端推送数据。 | HOST请求方法Cookie全部(站点任意请求) |
| 最大上传大小 | 最大上传大小即客户端用户单次请求中可以上传的数据的最大值。通过限制最大上传大小,可在一定程度上提升数据传输速率,优化网络传输。 | HOSTURL FULLURL Path文件名称文件后缀查询字符串HTTP Request Header请求方法Cookie全部(站点任意请求) |
| 智能压缩 | 节点对资源进行 Gzip 或 Brotli 压缩,减小传输文件大小,提升请求资源的加载速度。 | HOST请求方法全部(站点任意请求) |
| 内容压缩 | 内容压缩为 智能压缩 的能力升级,支持除了 HOST 之外的更多匹配条件。 | HOSTURL FULLURL Path文件名称文件后缀查询字符串HTTP Request Header客户端地理位置请求协议客户端 IP请求方法Cookie全部(站点任意请求)HTTP 响应头(仅支持 Content-Type 头部) |
| 智能加速 | 智能加速,即动态智能路由加速。启用此功能后,我们将实时检测节点网络延迟,通过智能算法选择最佳传输路径,以更快、更稳定、更安全的方式处理客户端用户的请求,不论是静态资源还是动态资源请求。 通过智能动态路由,将最大限度降低网络延迟、连接错误和请求失败等问题。 |
HOST全部(站点任意请求) |
| HTTP/2 回源 | 支持以 HTTP/2 协议请求回源。 | HOST请求方法Cookie全部(站点任意请求) |
| 回源超时时间 | 你可以根据网络链路情况以及源站数据处理能力,合理设置回源请求超时时间,保证请求能够正常回源。回源超时时间的定义为节点发起回源请求,源站在多长时间内无数据响应则节点可以判定为超时,并主动断开与源站的连接。 | HOST全部(站点任意请求) |
五、HTTPS 优化
| 操作 | 说明 | 支持的匹配类型 |
| 强制 HTTPS | 将客户端 HTTP 请求通过301/302重定向至 HTTPS,最终以 HTTPS 访问 EdgeOne。 | HOST全部(站点任意请求) |
| HSTS 配置 | 强制客户端(浏览器等)使用 HTTPS 与边缘节点创建链接,全局加密网站。 | HOST全部(站点任意请求) |
| SSL/TLS 安全配置 | 按需配置客户端与边缘服务器 TLS 握手时允许使用的协议版本和密码套件。 | HOST全部(站点任意请求) |
| OCSP 装订 | TLS 握手时发送事先缓存的 OCSP 响应以提高握手效率。 | HOST全部(站点任意请求) |
| 回源 HTTPS | 指定 EdgeOne 在回源时所使用的请求协议。 | HOSTCookie全部(站点任意请求) |
六、修改 HTTP 头
| 操作 | 说明 | 支持的匹配类型 |
| 修改 HTTP 节点响应头 | 自定义变更/增加/删除 HTTP 响应头(从节点响应客户端用户时的 HTTP 响应头)。 | HOSTURL FULLURL Path文件名称文件后缀查询字符串客户端地理位置客户端 IP请求方法HTTP 响应头HTTP 响应状态码Cookie全部(站点任意请求) |
| 客户端 IP 头部 | 自定义头部携带真实客户端 IP 信息回源站。 | HOSTURL FULLURL Path文件名称文件后缀查询字符串HTTP Request Header客户端地理位置客户端 IP请求方法Cookie全部(站点任意请求) |
| 客户端 IP 地理位置 | 自定义头部携带客户端 IP 地理位置信息回源站。 | HOST客户端地理位置客户端 IP请求方法Cookie全部(站点任意请求) |
| 修改 HTTP 回源请求头 | 自定义变更/增加/删除 HTTP 请求头(从节点向源站请求回源时的 HTTP 请求头)。 | HOSTURL FULLURL Path文件名称文件后缀查询字符串HTTP Request Header客户端地理位置客户端 IP请求方法Cookie全部(站点任意请求) |
| Host Header 重写 | 重写 Host 头字段。若你的回源 Host 与负载均衡任务中接入的加速域名不同,可使用此功能重写 Host 至实际回源 Host。 | HOSTURL FULLURL Path文件名称文件后缀查询字符串HTTP Request Header客户端地理位置客户端 IP请求协议请求方法Cookie全部(站点任意请求) |
七、高级配置
| 操作 | 说明 | 支持的匹配类型 |
| 访问 URL 重定向 | 节点通过响应特定状态码将客户端请求 URL 重定向到目标 URL。 | HOSTURL FULLURL Path文件名称文件后缀查询字符串HTTP Request Header客户端地理位置客户端 IP请求方法Cookie全部(站点任意请求) |
| Token 鉴权 | 一种访问控制策略,通过配置鉴权规则进行访问校验,过滤不合法的访问请求。可有效防止站点资源被恶意盗刷,保护你的业务内容。 | HOSTURL FULLURL Path文件名称文件后缀查询字符串HTTP Request Header请求方法Cookie全部(站点任意请求) |
| 修改源站 | 配置主备源,分路径,分区域等复杂回源策略。 | HOSTURL Path客户端地理位置客户端 IPHTTP 请求头查询字符串文件后缀请求协议请求方法Cookie全部(站点任意请求) |
| 回源 URL 重写 | 将节点收到的用户请求 URL,按照指定规则,在节点向源站发起请求时重写到源站上的目标 URL,不影响节点的缓存标识(Cache Key)。 | HOSTURL FULLURL Path文件名称文件后缀查询字符串HTTP Request Header客户端地理位置客户端 IP请求方法Cookie全部(站点任意请求) |
| 回源请求参数设置 | 自定义设置回源请求时,是否包含请求中原有的查询字符串和 Cookie。默认情况下,回源时会保留请求中原有的全部查询字符串和 Cookie。 | HOSTURL FULLURL Path文件名称文件后缀查询字符串HTTP Request Header客户端地理位置客户端 IP请求方法Cookie全部(站点任意请求) |
| 回源跟随重定向 | 请求回源时跟随源站服务器的302/301重定向,可指定最大重定向次数(默认为3次,支持设置1-5次)。 | HOSTURL FULLURL Path文件名称文件后缀查询字符串HTTP 请求头客户端地理位置客户端 IP请求方法Cookie全部(站点任意请求) |
| 自定义错误页面 | 当源站响应指定错误状态码时,返回302状态码跳转到对应的自定义页面。 | HOSTURL FULLURL Path文件名称文件后缀查询字符串HTTP Request Header客户端地理位置客户端 IP请求方法Cookie全部(站点任意请求) |
| 分片回源 | 开启后支持分片回源,有助于减少大文件回源消耗,缩短响应时间。 | HOSTURL FULLURL Path文件名称文件后缀查询字符串HTTP Request Header请求方法Cookie全部(站点任意请求) |
| HTTP 应答 | HTTP 应答功能由规则引擎支持,当匹配到对应条件,则由 EdgeOne 节点直接应答指定的状态码和页面内容。 | HOSTURL FULLURL Path文件名称文件后缀查询字符串HTTP 请求头客户端地理位置请求协议客户端 IP请求方法HTTP 响应头HTTP 响应状态码Cookie全部(站点任意请求) |
| Vary 特性 | 当客户端使用同一 URL 向源站服务器发起请求时,如果源站服务器存在不同版本的文件内容时,可能被中间缓存系统(例如:浏览器缓存、内容分发网络 CDN )缓存,无法区分场景响应文件。因此,源站服务器可以通过在 HTTP 响应中增加 Vary 头来告知中间缓存系统通过哪个请求头部来区分缓存版本内容。 | HOSTURL FULLURL Path文件名称文件后缀查询字符串HTTP 请求头客户端地理位置请求协议客户端 IP请求方法Cookie全部(站点任意请求) |
| 单连接下载限速 | 游戏新版本发布、软件下载等业务突发场景容易产生较高的带宽和成本。EdgeOne 提供的单连接下载限速可以实现对节点与客户端之间的请求进行下行限速,可在一定程度上控制加速域名的带宽峰值,但同时也可能影响用户的文件下载体验,因此需要结合业务特性设置合理的限速值。 | HOSTURL FULLURL Path文件名称文件后缀查询字符串HTTP 请求头客户端地理位置请求协议客户端 IP请求方法HTTP 响应头HTTP 响应状态码Cookie全部(站点任意请求) |