使用 Cache Rules 在 Cloudflare 上自定义缓存设置。Cache Rules 允许您调整符合缓存条件的内容、缓存时长和位置,以及为匹配请求触发与 Cloudflare 缓存和其他 Rules 产品的特定交互。
Cache Rules 可以在仪表板、通过 API 或 Terraform 创建。
Cloudflare 为常见用例提供规则模板。
-
在 Cloudflare 仪表板中,转到 Rules 概览页面。
Go to Overview ↗ -
选择 Templates(模板),然后选择一个可用模板。
你也可以参阅开发者文档中的 Examples gallery。
下表描述各计划的 Cache Rules 可用性。
| Free | Pro | Business | Enterprise | |
|---|---|---|---|---|
Availability | Yes | Yes | Yes | Yes |
Number of rules | 10 | 25 | 50 | 300 |
当 Cache Rule 设置自定义缓存键时,生成的缓存条目由该键索引,而非仅由请求 URL 索引。根据自定义缓存键包含的内容,这可能影响单文件清除:
- 仅更改查询字符串处理方式的自定义缓存键(例如,忽略查询字符串)通常可与仪表板单文件清除配合使用。
- 包含标头、cookie 或其他请求属性的自定义缓存键将阻止仪表板单文件清除工作,因为仪表板无法在清除请求中发送这些值。
- 即使没有 Cache Rules,Cloudflare 的默认缓存键也包含某些请求标头。对于存在这些标头时缓存的资源,仪表板单文件清除可能不起作用。
要清除无法通过仪表板单文件清除清除的资源,您有以下选项:
- 使用 API 按 URL 清除,包括自定义缓存键中的所有标头、cookie 和查询字符串。如果清除请求中缺少任何标头或 cookie,则在缓存键中视为空值。
- 按主机名清除,清除主机名的所有资源,不受自定义缓存键影响。
- 按前缀清除,清除 URL 路径下的所有资源,不受自定义缓存键影响。
- 按标签清除,不受自定义缓存键影响。
- 清除所有内容,清除 zone 的所有缓存资源。
排查 Cache Rules 时,使用 Cloudflare Trace 判断某条规则是否对特定 URL 生效。