证书管理工具问题排查

本页面介绍了使用证书管理工具时可能会遇到的一些最常见错误。它还提供了诊断和解决这些错误的步骤。

如需有关解决与 TLS (SSL) 证书相关的问题的帮助,请参阅排查 SSL 证书问题

与证书管理工具证书相关的错误

本部分介绍了与由 Google 管理的证书管理服务证书的 authorizationAttemptInfo 字段相关的错误的问题排查信息。仅当以下字段具有相应值时,错误才会显示在 managed.authorizationAttemptInfo.troubleshooting 部分中:

  • managed.authorizationAttemptInfo.state = FAILED
  • managed.authorizationAttemptInfo.failureReason = CONFIG

如需详细了解这些错误以及如何解决这些错误,请参阅下表:

错误 说明
CNAME_MISMATCH 此错误仅在以下情况下发生:对于 DNS 授权,预期 CNAME 记录的值与解析的 CNAME 记录的值不匹配。

如需解决此问题,请将正确的预期 CNAME 记录添加到您的 DNS 配置中。如需了解详情,请参阅将 CNAME 记录添加到您的 DNS 配置部分。

RESOLVED_TO_NOT_SERVING 如果网域包含指向特定 IP 地址的 DNS AAAAA 记录,但证书未附加到任何负载均衡器,则会发生此错误。

此错误仅适用于具有负载均衡器授权的证书。 只有在配置负载均衡器后,您才能使用负载均衡器授权来预配证书。

如需解决此问题,请更新网域的 DNS A 和 AAAA 记录以指向负载均衡器的 IP 地址。从网域的 DNS AAAAA 记录解析出的 IP 地址存储在 ips.resolved 参数中,而附加了此证书的负载均衡器的 IP 地址存储在 ips.serving 参数中。

网域的 DNS AAAAA 记录必须仅指向负载均衡器的 IP 地址。例如,如果 DNS A 记录指向负载均衡器的 IP 地址,但 DNS AAAA 记录指向其他 IP 地址,则会发生 RESOLVED_TO_NOT_SERVING 错误。

您还必须确保网域的 DNS AAAAA 记录在全球范围内正确且一致地解析。如需了解详情,请参阅多视角网域验证失败部分。

NO_RESOLVED_IPS 如果网域不包含任何 DNS AAAAA 记录,就会发生此错误。

此错误仅适用于具有负载均衡器授权的证书。 只有在配置负载均衡器后,您才能使用负载均衡器授权来预配证书。

如需解决此问题,请为此网域添加 DNS AAAAA 记录,并确保这些记录指向目标 HTTPS 代理或 Media CDN 边缘缓存服务的 IP 地址。

您还必须确保网域的 DNS AAAAA 记录在全球范围内正确且一致地解析。如需了解详情,请参阅多视角网域验证失败部分。

RESOLVED_TO_SERVING_ON_ALT_PORTS 如果包含 DNS AAAAA 记录的网域指向附加了此证书的负载均衡器的 IP 地址,但这些 IP 地址上未打开端口 443,则会发生此错误。

此错误仅适用于具有负载均衡器授权的证书。 只有在配置负载均衡器后,您才能通过使用负载均衡器授权来预配证书。

如需解决此问题,请确保附加了证书的负载均衡器正在监听端口 443ips.serving_on_alt_ports 参数用于存储端口 443 未开放的负载均衡器 IP 地址列表。

您还必须确保网域的 DNS AAAAA 记录在全球范围内正确且一致地解析。如需了解详情,请参阅多视角网域验证失败部分。

CERTIFICATE_NOT_ATTACHED 当证书未附加到负载平衡器时,会发生此错误。如需解决此问题,请确保证书已附加到负载均衡器。如需了解详情,请参阅将证书部署到负载均衡器部分。

如果证书属于附加到目标 HTTPS 代理的证书映射,但该代理未附加到转发规则,也会发生此错误。如需解决此问题,请将目标 HTTPS 代理附加到相应的转发规则。如需了解详情,请参阅目标代理概览转发规则概览

此错误仅适用于具有负载均衡器授权的证书。 只有在配置负载均衡器后,您才能通过使用负载均衡器授权来预配证书。

将证书映射从目标代理分离时出错

当您从目标代理分离证书映射时,会收到以下错误:

"There must be at least one certificate configured for a target proxy."

当除了您尝试分离的证书映射中指定的证书之外,没有其他证书分配给目标代理时,就会发生此错误。如需分离映射,请先将一个或多个证书直接分配给代理。

将证书映射条目与证书相关联时出错

将证书映射条目与证书相关联时,您会收到以下错误:

"certificate can't be used more than 100 times"

如果您尝试将证书映射条目与已关联 100 个证书映射条目的证书相关联,就会出现此错误。如需解决此问题,请执行以下操作:

  • 对于 Google 管理的证书,请创建另一个证书。将新的证书映射条目与此新证书相关联,并将新证书附加到负载均衡器。
  • 对于自行管理的证书,请使用新名称重新上传证书。 将新的证书映射条目与此新证书相关联,并将新证书附加到负载均衡器。

与 CA Service 实例颁发的证书相关的问题

本部分列出了在使用 Certificate Manager 部署由 CA Service 实例签发的 Google 管理的证书时可能遇到的一些最常见错误,以及这些错误的可能原因。

如果您收到 Failed to create Certificate Issuance Config resources 错误,请检查以下各项:

  • 生命周期。有效的证书生命周期值介于 21 天到 30 天之间。
  • 轮替窗口百分比。有效的轮替窗口百分比范围为 1% 到 99%。您必须设置相对于证书生命周期的轮替窗口百分比,以确保证书在证书颁发至少 7 天之后且在到期前至少提前 7 天进行续订。
  • 密钥算法。有效的密钥算法值为:RSA_2048ECDSA_P256
  • CA 池。CA 池不存在或配置有误。 CA 池必须包含至少一个已启用的 CA,并且调用者必须对目标Google Cloud 项目具有 privateca.capools.use 权限。对于区域级证书,证书颁发配置资源必须在 CA 池所在的同一位置创建。

如果您收到 Failed to create a managed certificate 错误,请检查以下各项:

  • 您在创建证书时指定的证书颁发配置资源存在。
  • 调用者对创建证书时指定的证书颁发配置资源拥有 certificatemanager.certissuanceconfigs.use 权限。
  • 证书与证书签发配置资源位于同一位置。

如果您收到 Failed to renew certificateFailed to provision certificate 错误,请检查以下各项:

  • Certificate Manager 服务账号对用于此证书的证书颁发配置资源中指定的 CA 池具有 roles/privateca.certificateRequester 权限。

    使用以下命令检查目标 CA 池的权限:

    gcloud privateca pools get-iam-policy CA_POOL
    --location REGION
    

    替换以下内容:

    • CA_POOL:目标 CA 池的完整资源路径和名称
    • REGION:目标 Google Cloud 区域
  • 证书签发政策正在生效。如需了解详情,请参阅与发放政策限制相关的问题

与发放政策限制相关的问题

如果 Certificate Manager 不支持证书签发政策对证书所做的更改,则证书配置会失败,并且受管理的证书的状态会更改为 Failed。如需解决此问题,请确认以下各项:

  • 证书的身份限制允许主题和主题备用名称 (SAN) 直通。
  • 证书的最长有效期限制大于证书签发配置资源的有效期。

对于之前的问题,由于 CA Service 已签发证书,因此您需要根据 CA Service 定价付费。

如果您收到 Rejected for issuing certificates from the configured CA Pool 错误,则表示证书签发政策已阻止所请求的证书。如需解决此错误,请检查以下各项:

对于上述问题,由于 CA Service 尚未颁发证书,因此您无需向 CA Service 付费。

与 IAP 主机名匹配相关的问题

如果您在使用证书管理服务和 Identity-Aware Proxy (IAP) 时意外收到 The host name provided does not match the SSL certificate on the server 错误,请检查您使用的证书是否对相应主机名有效。还可以列出您在证书映射中配置的证书映射条目。您打算与 IAP 搭配使用的每个主机名或通配符主机名都必须有专用条目。如果缺少主机名的证书映射条目,请创建证书映射条目

证书选择期间回退到主证书映射条目的请求始终会被 IAP 拒绝。

多视角网域验证失败

Google Cloud 会定期向证书授权机构 (CA) 请求 Google 管理的证书,以便对其进行续订。Google Cloud 用于续订证书的 CA 使用一种多视角网域验证方法,称为多视角颁发确证 (MPIC)。 在此过程中,证书授权机构会通过检查网域的 DNS 设置来验证网域控制,如果是负载均衡器授权,还会尝试与网域 IP 地址后面的服务器联系。 这些验证会从互联网上的多个视角进行。如果验证流程失败,由 Google 管理的证书将无法续订。因此,您的负载均衡器会向客户端提供已过期的证书,导致浏览器用户遇到证书错误,API 客户端遇到连接失败。

为了防止针对配置有误的 DNS 记录出现多视角网域验证失败,请注意以下事项:

  • 您的网域和任何子网域的 DNS A 记录 (IPv4) 和 DNS AAAA (IPv6) 记录仅指向与负载均衡器的转发规则关联的 IP 地址。如果记录中存在任何其他地址,可能会导致验证失败。
  • CA 会对 DNS 记录进行验证,并从多个位置查询 DNS 记录。确保您的 DNS 提供商对所有全球网域验证请求的响应一致。
  • 使用 GeoDNS(根据请求位置返回不同的 IP 地址)或基于位置的 DNS 政策可能会导致响应不一致,并导致验证失败。如果您的 DNS 提供商使用 GeoDNS,请停用它,或者确保所有区域都返回相同的负载均衡器的 IP 地址。
  • 如果您使用负载均衡器授权方法来配置 Google 管理的证书,则必须在 DNS 配置中明确指定负载均衡器的 IP 地址。 中间层(例如 CDN)可能会导致难以预料的状况。IP 地址必须可直接访问,且请求路径中不需要任何重定向、防火墙或 CDN。如需了解详情,请参阅本文档中的 CDN 后端的负载平衡器部分。
  • 我们建议您使用自己选择的 DNS 全球传播检查工具,以验证所有相关 DNS 记录是否在全球范围内正确且一致地解析。

验证配置更改

配置 DNS 记录后,您可以通过创建新证书并将其与现有证书一起连接到负载均衡器,来验证这些记录是否正确。此步骤会强制立即与 CA 进行证书配置检查,以便您在几分钟内验证配置更改。否则,自动续订现有的证书可能需要几天或几周的时间,从而导致您的设置不确定。

如果证书状态变为 ACTIVE,则表示证书已颁发,从而确认您的 DNS 配置正确无误。此时,我们建议您移除之前的证书,以免同一网域有两个单独的证书。此过程不会中断流向负载均衡器的流量。

新证书可用作验证工具 - 创建证书可确认使用 MPIC 的多视角网域验证是否适用于您的设置。

CDN 后端的负载均衡器

对于已启用 CDN 的负载均衡器,请求路径中的某些第三方 CDN 提供商可能会导致验证请求失败。如果 CDN 提供商正在主动代理 HTTP(S) 流量,则可能会发生这种情况。

在这种情况下,我们建议使用 DNS 授权方法来配置 Google 管理的证书。后一种方法不需要 CA 与您的负载均衡器联系。

后续步骤