跳转到内容
搜索文档

轮换 ACM 证书包

最后更新 查看 MarkdownAgent 设置

Advanced Certificate Manager (ACM) 证书包无法就地更新。要替换现有证书包——例如更改证书颁发机构、添加主机名或更改验证方法——您需要创建新证书包,等待其达到 Active(有效) 状态,然后删除旧证书包。

关键原则是在移除旧证书包之前确保新证书包达到 Active(有效)。这避免了覆盖空白,意味着用户不会遇到停机。


推荐的轮换流程

1. 创建新证书包

  1. 在 Cloudflare 仪表板中,前往 Edge Certificates(边缘证书) 页面。

    Go to Edge Certificates ↗
  2. 选择 Order Advanced Certificate(订购高级证书)

  3. 使用所需的主机名、证书颁发机构和验证方法配置新证书包。

  4. 选择 Save(保存)

使用 Order Certificate Pack 端点创建新证书包。

将新的 cloudflare_certificate_pack 资源添加到 Terraform 配置并应用。在继续之前,请参阅下方的 Terraform 特定说明

2. 等待 Active(有效)状态

订购后,新证书包在准备好提供流量之前会经历多个中间状态:

  1. Initializing(初始化中)
  2. Pending Validation(待验证)
  3. Pending Issuance(待签发)
  4. Pending Deployment(等待部署)
  5. Active(有效)

在新证书包达到 Active(有效) 之前,请勿删除旧证书包。有关每个阶段的说明,请参阅证书状态

在仪表板的 Edge Certificates(边缘证书) 页面上监控进度,或轮询 Get Certificate Pack API 端点。

对于使用 Cloudflare 作为权威 DNS 的 zone(完整设置),大多数验证在几分钟内完成。对于部分(CNAME)设置 zone,您需要手动放置 DCV 令牌——详情请参阅 DCV 方法。如果在有效期内(Let's Encrypt 为 7 天,Google Trust Services 和 SSL.com 为 14 天)未满足要求,DCV 令牌将过期。

3. 删除旧证书包

新证书包 Active(有效) 后,可以安全删除旧证书包。

  1. 在 Cloudflare 仪表板中,前往 Edge Certificates(边缘证书) 页面。

    Go to Edge Certificates ↗
  2. 选择旧证书包。

  3. 选择 Delete Certificate(删除证书)

使用 Delete Certificate Pack 端点。

从 Terraform 配置中移除旧的 cloudflare_certificate_pack 资源并应用。请参阅下方的 Terraform 特定说明

4. 预期短暂的 Pending Deployment 状态

删除旧证书包后,剩余证书可能短暂显示 Pending Deployment(等待部署),然后返回 Active(有效)。这反映了全球网络协调变更时的正常边缘重新评估周期,通常在几分钟内解决,不影响流量。

如果证书在 Pending Deployment(等待部署) 状态停留时间超出预期,请参阅证书状态联系 Cloudflare 支持团队


Terraform

证书包无法就地更新——cloudflare_certificate_pack 资源的每个属性在更改时都会强制创建新资源。围绕此约束规划轮换。

自动等待 Active

在新资源上设置 wait_for_active_status = true,让 Terraform 阻塞 apply 直到证书包达到 Active(有效)。这消除了在第 1 步和第 3 步之间手动轮询仪表板或 API 的需要。

推荐模式

  1. 添加带有 wait_for_active_status = true 的新 cloudflare_certificate_pack 资源并运行 terraform apply。apply 在证书包 Active 之前不会完成。
  2. 从配置中移除旧资源并运行 terraform apply 删除它。

对于单个资源的零停机轮换(无法同时在状态中拥有新旧资源),使用 Terraform 的 create_before_destroy 生命周期元参数。

有关完整资源架构,请参阅 cloudflare_certificate_pack 提供商文档


常见轮换问题

Let's Encrypt 速率限制

Let's Encrypt 限制同一主机名集合每周最多 5 张新证书。重复轮换(例如测试或自动化循环期间)可能耗尽此限制并阻止进一步签发长达一周。

如果达到此限制,将证书颁发机构切换到 Google Trust Services 或 SSL.com,或等待速率限制窗口过期。详情请参阅 Let's Encrypt 速率限制

证书包卡在 Pending Validation

如果新证书包在 Pending Validation 状态停留超过 15 分钟,请检查 DCV 方法是否正确设置。请参阅域名控制验证(Domain Control Validation)排查域名控制验证


与 Custom 证书替换的区别

本页涵盖 ACM 证书包(通过 Advanced Certificate Manager 订购的 Cloudflare 托管域名验证证书)

如果您使用 Custom 证书(您提供的证书),Cloudflare 提供就地 Replace SSL certificate and key 流程,处理轮换而无需管理两个证书包。请参阅管理 Custom 证书

这篇文档对您有帮助吗?