Transform Rules 允许你在 Cloudflare 全球网络上调整请求和响应的 URI 路径、查询字符串以及 HTTP 标头。
Transform Rules 有多种类型:
- URL Rewrite Rules:重写 HTTP 请求的 URL 路径和查询字符串。
- Request Header Transform Rules:设置 HTTP 请求头的值或移除请求头。
- Response Header Transform Rules:设置 HTTP 响应头的值或移除响应头。
- Managed Transforms:使用预构建的一键配置,对 HTTP 请求头和响应头执行常见调整。
对于更复杂的 header modifications and rewrite logic,请考虑使用 Snippets。
Cloudflare 为常见用例提供规则模板。
-
在 Cloudflare 仪表板中,转到 Rules 概览页面。
Go to Overview ↗ -
选择 Templates(模板),然后选择一个可用模板。
你也可以参阅开发者文档中的 Examples gallery。
也可以在仪表板中或通过 Cloudflare API 从头创建转换规则。有关详细说明,请参阅以下部分:
有关 Terraform 示例,请参阅 使用 Terraform 配置 Transform Rules。
有关为 Transform Rules 构建表达式的更多信息,请参阅 Rules language。
Cloudflare Transform Rules 面向所有客户提供。对正则表达式的支持取决于你的 Cloudflare 套餐。
下表概述了各客户套餐可用的 Transform Rules 功能:
| Free | Pro | Business | Enterprise | |
|---|---|---|---|---|
Availability | Yes | Yes | Yes | Yes |
Active Transform Rules | 10 | 25 | 50 | 300 |
Regex support | No | No | Yes | Yes |
Cloudflare 用户必须拥有 Firewall 角色 或某一管理员角色,才能访问 Transform Rules。
Managed Transforms 会在其他会修改 HTTP 标头的 Transform Rules 类型之前运行:
- 调整 HTTP 请求头的 Managed Transforms 会在 Request Header Transform Rules 之前运行。
- 调整 HTTP 响应头的 Managed Transforms 会在 Response Header Transform Rules 之前运行。
Transform Rules 按顺序运行。位于 Transform Rules 列表中较后位置的规则可以覆盖先前规则所做的更改。你可以在仪表板中或通过 API 定义规则顺序。
在为请求/响应评估 Transform Rules 时,请求和响应字段在每个阶段(phase)内是不可变的。这意味着同一阶段中较后的规则无法匹配到较早规则所做的更改(它们始终使用原始字段值)。更多信息请参阅 规则评估期间的字段值。
排查 Transform Rules 时,使用 Cloudflare Trace 判断某条规则是否对特定 URL 生效。