Cloudflare Snippets
Cloudflare Snippets 提供了一种强大且灵活的方式,通过简短的 JavaScript 代码片段来自定义您网站或应用的行为。借助 Snippets,您可以修改 HTTP 响应头、实现 JWT 验证、执行复杂的重定向等等。
常见使用场景的代码示例,请参考 示例(Examples) 部分。
注意
使用 Snippets 需要您将域名(或子域名)的 DNS 记录通过 Cloudflare 代理。
Snippets 组成元素
要创建并部署一个 Snippet,您需要定义以下元素:
- 代码片段(Code snippet):在请求处理过程中执行的 JavaScript 代码。
- Snippet 规则(Snippet rule):过滤表达式,用于确定该 Snippet 将应用于哪些请求。每个 Snippet 只能与一个 Snippet 规则关联。
更多信息请参考 工作原理(How it works) 和 在仪表盘创建 Snippet(Create a snippet in the dashboard)。
注意
如果您通过 Cloudflare API 创建了一个未与任何 Snippet 规则关联的代码片段,Cloudflare 仪表盘会在 Unused Snippets(未使用的 Snippets) 标签页中显示它。您可以选择编辑该代码片段并将其关联到 Snippet 规则,或直接删除这个未使用的代码片段。
模板(Templates)
Cloudflare 为常见使用场景提供了规则模板。您可以在仪表盘中进入:
您的 Zone > Rules > Overview > Templates,然后选择一个可用的模板。
您也可以在开发者文档中的 Examples gallery(示例库) 查阅更多示例。
可用性(Availability)
更新的限制(Updated Limits)
我们正在逐步为所有客户推出新的限制。下面列出的数值为新的标准限制,但在 2025 年上半年全面完成之前,部分客户可能仍适用旧的限制。
| 套餐 | 免费(Free) | 专业版(Pro) | 商业版(Business) | 企业版(Enterprise) |
|---|---|---|---|---|
| 可用性 | 否 | 是 | 是 | 是 |
| 可创建 Snippet 数量 | 0 | 25 | 50 | 300 |
| Snippet 子请求数量 | 0 | 2 | 3 | 5 |
说明:
- 在重定向链中,每一次子请求都会计入限制。
- 例如,一个子请求如果发生重定向,将会被算作 两个子请求。
- 为避免问题,请确保子请求直接访问重定向链的最终地址。
目前,版本管理(Version Management) 尚不支持 Snippets。
限制(Limits)
Cloudflare Snippets 专为快速、轻量的边缘逻辑而设计,适用以下限制:
| 描述 | 所有套餐 |
|---|---|
| 最大执行时间 | 5 ms |
| 最大内存 | 2 MB |
| 最大总包大小 | 32 KB |
Snippets 与 Workers 的选择
不确定该选择 Snippets 还是 Workers?
请参阅我们的详细指南,其中包括最佳实践、真实案例和示例实现。
评论 (0)