使用此页面解决版本管理的常见问题。如果以下步骤未能解决您的问题,请联系 Cloudflare 支持并提供给支持团队的信息中列出的详细信息。
如果在 Cloudflare 仪表板中,版本管理选项显示为灰色或不可见,请验证是否满足所有要求。
常见原因:
- 您的区域未处于 Enterprise 计划。 版本管理仅适用于 Enterprise 区域。
- 您的区域未处于活动状态。 验证您的区域的域状态是否为 Active(活动)。
- WAF 迁移未完成。 您的区域必须使用 WAF 托管规则和自定义规则,而不是已弃用的防火墙规则。如果您的区域仍在使用旧版 WAF,请联系您的客户团队完成迁移。
- 您的用户账户没有所需角色。 您需要超级管理员(Super Administrator)或管理员(Administrator)角色才能启用版本管理。区域版本控制 (Zone Versioning) 角色无法创建新版本。
- 您的用户账户没有 API 密钥。 您必须配置了 API 密钥。有关更多信息,请参考查看您的全局 API 密钥。
- 您的用户账户的 API 访问权限已被禁用。 有关更多信息,请参考控制 API 访问权限。
如果满足所有要求但版本管理仍然不可用,请联系您的客户团队。
版本创建(克隆)可能会因多种原因而失败。当您克隆版本时,Cloudflare 会将区域配置从源版本复制到新版本。如果此过程的任何部分遇到错误,克隆将会失败。
不支持或部分支持的产品配置
某些产品和功能无法完全兼容版本管理。如果源版本包含不支持产品的配置,克隆可能会失败或产生不完整的结果。有关完整列表,请参考限制。
值得注意的示例:
- API Shield — 某些 API Shield 配置不会被克隆。创建新版本后,您可能需要手动重新配置 API Shield 设置。
- Image Transformations — 图像转换的更改不会带入新版本中。
- WAF Attack Score — WAF 攻击评分配置不会被克隆。
- Network Error Logging(网络错误日志,NEL) 配置不会被复制到新版本。
源版本中的无效或冲突配置
如果源版本包含无效或相互冲突的规则或设置,克隆操作可能会失败。查看源版本中的配置并在重试前纠正所有错误。
版本创建卡住
如果版本创建似乎卡住(状态在较长时间内不改变),请等待几分钟并刷新仪表板。如果问题仍然存在,请联系 Cloudflare 支持并提供相关详情。
- 检查限制部分,确认源版本不依赖于不支持的配置。
- 检查源版本中的配置是否存在无效或冲突的规则。
- 重试克隆操作。
- 如果问题仍然存在,请联系 Cloudflare 支持。
启用版本管理后,每个版本都有自己独立的规则和配置集。如果规则或设置似乎丢失,您或其他用户查看的版本可能与创建规则的版本不同。
例如,在一个版本中创建的缓存规则在查看另一个版本时不会出现。如果规则的版本已升级到活动环境,该规则可能仍然处于活动状态并影响流量,但在选择其他版本时,它在仪表板中不可见。
要解决此问题:
- 在 Cloudflare 仪表板中,转到 Version Management(版本管理)。
- 检查您当前查看的版本。
- 切换到创建规则的版本。
- 如果您在不同的版本中需要该规则,请在该版本中重新创建它,或者克隆包含该规则的版本。
如果版本具有 Worker 路由,则在使用 Wrangler 部署 Worker 时,该路由可能会消失。此外,如果两个版本具有相同的自定义域,则 Worker 可能会在它们之间随机选择。
为避免此情况:
- 在创建引用相同路由的新版本之前,请使用 Wrangler 部署 Worker。
- 避免跨多个版本配置相同的自定义域。
版本管理不支持 Terraform。如果您当前使用 Terraform 来管理区域配置,则应选择 Terraform 或版本管理 —— 不支持同时使用两者。
启用版本管理后,Cloudflare 仪表板中的分析数据可能无法如预期反映跨环境的流量分配。分析在区域级别报告,可能不会按单个版本或环境进行细分。
如果在启用版本管理后发现分析仪表板中存在数据差异,请验证您查看的是区域级分析,而不是按版本细分的数据。
域范围的角色不会复制到新版本
域范围角色仅适用于您的根区域。创建新版本时,这些角色不会被复制,且具有域范围角色的用户将失去对新版本的访问权限。
要解决此问题,请在创建新版本后重新分配必要的角色,或改用账户级角色。
就版本管理问题联系 Cloudflare 支持团队时,请包含以下详情:
- Account ID(账户 ID) 和 Zone ID(区域 ID)(可在 Cloudflare 仪表板的 Overview(概述) 下找到)。
- 区域名称 (您的域)。
- 出现问题时您正在使用的 版本号。
- 您 尝试执行的操作 (例如,创建版本、克隆、升级或比较)。
- 显示的 确切错误消息 (如果有)。
- 问题发生时的 大致时间戳 (包括时区)。
- 错误的 屏幕截图 (如果可用)。