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 数量02550300
Snippet 子请求数量0235

说明:

  • 在重定向链中,每一次子请求都会计入限制。
  • 例如,一个子请求如果发生重定向,将会被算作 两个子请求
  • 为避免问题,请确保子请求直接访问重定向链的最终地址。

目前,版本管理(Version Management) 尚不支持 Snippets。


限制(Limits)

Cloudflare Snippets 专为快速、轻量的边缘逻辑而设计,适用以下限制:

描述所有套餐
最大执行时间5 ms
最大内存2 MB
最大总包大小32 KB

Snippets 与 Workers 的选择

不确定该选择 Snippets 还是 Workers

请参阅我们的详细指南,其中包括最佳实践、真实案例和示例实现。