变量
简介
规则引擎的变量允许您动态提取和处理请求中的数据。这些变量不仅可以存储静态值,还可以引用请求中的特定字段或信息,其值在处理每个请求时都可能变化。例如:
http.request.host
变量,它可以提取每个 HTTP 请求中的 hostname
。这种能力使规则引擎能够处理更复杂的业务逻辑。内容
名称 | 类型 | 说明 | 示例 |
http.request.scheme | String | 客户端请求协议 | http https |
http.request.zone | String | 站点名称 | example.com |
http.request.zoneid | String | 站点 ID | zone-2c2r77pc3796 |
http.request.host | String | 客户端请求 URI 中的 hostname | www.example.com |
http.request.full_uri | String | 客户端请求的完整 URI(不包括#fragment) | https://www.example.org/articles/index?section=539061&expand=comments |
http.request.method | String | 客户端请求 HTTP 方法 | GET |
http.request.uri | String | 客户端请求的 URI 路径和查询字符串 | /articles/index?section=539061&expand=comments |
http.request.uri.path | String | 客户端请求的 URI 路径 | /articles/index |
http.request.file_extension | String | 客户端请求文件的文件后缀 | jpg |
http.request.filename | String | 客户端请求文件的文件名 | bot.txt |
http.request.uri.query | String | 客户端请求的整个查询字符串,不包括?分隔符 | section=539061&expand=comments |
http.request.headers["key"] | String | 客户端请求指定头部名称为“key”的头部值,“key”可替换为您指定的名称 | https://developer.mozilla.org |
http.request.uri.args["key"] | String | 客户端查询字符串指定参数名称为“key”的参数值,“key”可替换为您指定的名称 | value |
http.request.version | String | 客户端请求所使用的 HTTP 协议的版本 | HTTP/1.0 HTTP/1.1 HTTP/2 HTTP/3 |
http.request.ip | String | 客户端 TCP IP 地址,例如:1.1.1.1 | 93.184.216.34 |
http.request.ip.port | String | 客户端源端口 | 1028 |
http.request.ip.city | String | 与客户端 IP 地址相关联的城市 | San Francisco |
http.request.ip.continent | String | 与客户端 IP 地址相关联的大洲代码 | AF: 非洲 (Africa) AS: 亚洲 (Asia) EU: 欧洲 (Europe) NA: 北美洲 (North America) SA: 南美洲 (South America) OC: 大洋洲 (Oceania) AN: 南极洲 (Antarctica) |
http.request.ip.country | String | 与客户端 IP 地址相关联的以 ISO 3166-1 Alpha 2 格式的2字母国家代码 |
使用示例
1. 自定义回源请求头部,携带客户端 IP 地址所在国家信息回源。
2. 自定义回源请求头部,源站收集和统计哪些域名是经过 Tencent EdgeOne 加速。
3. 自定义跨域请求策略:允许请求中 Origin 头部值的域名的跨域请求。