排解憑證管理工具相關問題

本頁面說明使用 Certificate Manager 時可能遇到的常見錯誤。並提供診斷及解決這些錯誤的步驟。

如需解決 TLS (SSL) 憑證相關問題的協助,請參閱「排解 SSL 憑證問題」。

排解 Google 代管憑證的問題

如果是 Google 代管的憑證,您可以查看憑證資源的狀態,以及與憑證相關聯的各個網域授權狀態。

代管憑證狀態

查看代管憑證狀態 (managed.state):

gcloud certificate-manager certificates describe CERTIFICATE_NAME \
    --location=LOCATION \
    --format="get(managed.state)"

更改下列內容:

  • CERTIFICATE_NAME:憑證名稱。
  • LOCATION:目標 Google Cloud 位置。預設位置為 global。

憑證狀態的值如下:

狀態 說明
PROVISIONING

Certificate Manager 正在佈建或更新憑證。

DNS 和負載平衡器設定變更在網際網路中全面生效後,最多可能需要 60 分鐘才能佈建 Google 代管的憑證。如果憑證仍處於 PROVISIONING 狀態,請查看 managed.provisioningIssue 或 managed.authorizationAttemptInfo 欄位,瞭解詳情。

ACTIVE 憑證已佈建。將憑證對應關係與憑證建立關聯,並將憑證附加至目標 Proxy 或負載平衡器後,憑證即可用於提供流量。
FAILED

多次嘗試佈建或更新憑證失敗,Certificate Manager 已停止佈建憑證。Certificate Manager 不會在這個狀態下重試佈建作業。

如要解決這個問題,請修正基礎 DNS 或負載平衡器設定問題、刪除失敗的憑證,然後建立新的代管憑證資源。

如要瞭解失敗詳情,請查看 managed.provisioningIssue 或 managed.authorizationAttemptInfo 欄位。

網域授權嘗試狀態

檢查與憑證相關聯網域的授權嘗試狀態:

gcloud certificate-manager certificates describe CERTIFICATE_NAME \
    --location=LOCATION \
    --format="get(managed.authorizationAttemptInfo)"

更改下列內容:

  • CERTIFICATE_NAME:憑證名稱。
  • LOCATION:目標 Google Cloud 位置。預設位置為 global。

與憑證相關聯的每個網域都會處於下列其中一種狀態 (managed.authorizationAttemptInfo.state):

狀態 說明
AUTHORIZING Certificate Manager 正在為這個網域佈建憑證,並授權網域。
AUTHORIZED 網域已獲授權。如果憑證包含多個網域,則必須等到所有網域都進入 AUTHORIZED 狀態,系統才會佈建憑證並將其設為 ACTIVE。
FAILED 無法授權網域,這項失敗會導致 Certificate Manager 無法核發代管憑證。如要診斷問題,請檢查失敗網域的 failureReason、details 和 troubleshooting 欄位。

網域授權失敗原因

如果網域的授權嘗試狀態為 FAILED,managed.authorizationAttemptInfo.failureReason 欄位會指出失敗原因。下表說明可能的值:

原因 說明
CONFIG

您的 DNS 或負載平衡器有這個網域的設定問題。

詳情請參閱詳細的錯誤疑難排解表格。

CAA

CAA 記錄發生問題,例如明確的 CAA 限制,或無法檢查網域的 CAA 記錄,因此無法佈建憑證。

如要解決這個問題,請確認 DNS 區域設定允許憑證授權單位為網域核發憑證。針對各專案的 DNS 授權 (包括所有區域憑證),Certificate Manager 只會使用 Google Trust Services (pki.goog),因此請務必確認 CAA 記錄允許 pki.goog。如果是其他 DNS 授權和負載平衡器授權,Certificate Manager 可以同時使用 Google Trust Services (pki.goog) 和 Let's Encrypt (letsencrypt.org)。詳情請參閱「指定可核發 Google 代管憑證的 CA」。

RATE_LIMITED

要求受到憑證授權單位或內部系統的限制,例如 Let's Encrypt 對每個註冊網域的憑證數量設有每週限制。

如要解決這個問題,請等待頻率限制到期。請勿在不同專案中要求不必要的重複憑證。

Certificate Manager 憑證相關錯誤

本節提供疑難排解資訊,協助您解決與 Google 代管 Certificate Manager 憑證 authorizationAttemptInfo 欄位相關的錯誤。只有在下列欄位含有這些值時,managed.authorizationAttemptInfo.troubleshooting 區段才會顯示錯誤:

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

如要進一步瞭解錯誤和解決方法,請參閱下表:

錯誤 說明
CNAME_MISMATCH 只有在預期的 CNAME 記錄值與解析的 CNAME 記錄值不符時,DNS 授權才會發生這項錯誤。

如要修正這個問題,請在 DNS 設定中新增預期的 CNAME 記錄。詳情請參閱「在 DNS 設定中新增 CNAME 記錄」一節。

RESOLVED_TO_NOT_SERVING 如果網域包含指向特定 IP 位址的 DNS A 和 AAAA 記錄,但憑證未附加至任何負載平衡器,就會發生這項錯誤。

這項錯誤僅適用於具有負載平衡器授權的憑證。您必須先設定負載平衡器,才能使用負載平衡器授權佈建憑證。

如要解決這個問題,請更新網域的 DNS A 和 AAAA 記錄,指向負載平衡器的 IP 位址。從網域 DNS A 和 AAAA 記錄解析的 IP 位址會儲存在 ips.resolved 參數中,而附加這項憑證的負載平衡器 IP 位址則會儲存在 ips.serving 參數中。

網域的 DNS A 和 AAAA 記錄只能指向負載平衡器的 IP 位址。舉例來說,如果 DNS A 記錄指向負載平衡器的 IP 位址,但 DNS AAAA 記錄指向其他 IP 位址,就會發生 RESOLVED_TO_NOT_SERVING 錯誤。

此外,您也必須確保網域的 DNS A 和 AAAA 記錄在全球各地都能正確且一致地解析。詳情請參閱「多角度網域驗證失敗」一節。

NO_RESOLVED_IPS 如果網域不含任何 DNS A 和 AAAA 記錄,就會發生這項錯誤。

這項錯誤僅適用於具有負載平衡器授權的憑證。您必須先設定負載平衡器,才能使用負載平衡器授權佈建憑證。

如要解決這個問題,請為這個網域新增 DNS A 和 AAAA 記錄,並確認記錄指向目標 HTTPS Proxy 或 Media CDN 邊緣快取服務的 IP 位址。

此外,您也必須確保網域的 DNS A 和 AAAA 記錄在全球各地都能正確且一致地解析。詳情請參閱「多角度網域驗證失敗」一節。

RESOLVED_TO_SERVING_ON_ALT_PORTS 如果含有 DNS A 和 AAAA 記錄的網域指向附加這項憑證的負載平衡器 IP 位址,但這些 IP 位址未開啟通訊埠 443,就會發生這項錯誤。

這項錯誤僅適用於具有負載平衡器授權的憑證。您必須先設定負載平衡器,才能使用負載平衡器授權佈建憑證。

如要解決這個問題,請確認附加憑證的負載平衡器正在監聽通訊埠 443。ips.serving_on_alt_ports 參數會儲存未開啟通訊埠 443 的負載平衡器 IP 位址清單。

此外,您也必須確保網域的 DNS A 和 AAAA 記錄在全球各地都能正確且一致地解析。詳情請參閱「多角度網域驗證失敗」一節。

CERTIFICATE_NOT_ATTACHED 如果憑證未附加至負載平衡器,就會發生這項錯誤。如要解決這個問題,請確認憑證已附加至負載平衡器。詳情請參閱「將憑證部署至負載平衡器」一節。

如果憑證屬於附加至目標 HTTPS Proxy 的憑證對應組合,但 Proxy 未附加至轉送規則,也會發生這項錯誤。如要解決這個問題,請將目標 HTTPS Proxy 附加至適當的轉送規則。詳情請參閱「目標 Proxy 總覽」和「轉送規則總覽」。

這項錯誤僅適用於具有負載平衡器授權的憑證。您必須先設定負載平衡器,才能使用負載平衡器授權佈建憑證。

從目標 Proxy 卸載憑證對應組合時發生錯誤

從目標 Proxy 卸載憑證對應組合時,會收到下列錯誤:

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

如果除了您嘗試卸載的憑證對應組合中指定的憑證之外,沒有任何憑證指派給目標 Proxy,就會發生這項錯誤。如要卸載對應關係,請先直接將一或多個憑證指派給 Proxy。

將憑證對應項目與憑證建立關聯時發生錯誤

將憑證對應關係與憑證建立關聯時,您會收到下列錯誤:

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

如果嘗試將憑證對應關係與已和 100 個憑證對應關係建立關聯的憑證建立關聯,就會發生這項錯誤。如要解決這個問題,請按照下列步驟操作:

  • 如果是 Google 代管的憑證,請建立其他憑證。將新的憑證對應關係與這個新憑證建立關聯,並將新憑證附加至負載平衡器。
  • 如果是自行管理的憑證,請以新名稱重新上傳憑證。將新的憑證對應關係與這個新憑證建立關聯,並將新憑證附加至負載平衡器。

CA 服務執行個體核發的憑證相關問題

本節列出使用 Certificate Manager 部署由 CA 服務執行個體核發的 Google 代管憑證時,可能遇到的最常見錯誤,以及可能的原因。

如果收到 Failed to create Certificate Issuance Config resources 錯誤,請檢查下列事項:

  • 生命週期。有效憑證生命週期值介於 21 到 30 天。
  • 輪替期百分比。有效輪換期百分比為 1% 到 99%。您必須根據憑證效期設定輪替期百分比,確保憑證在核發後至少 7 天,且到期前至少 7 天更新。
  • 金鑰演算法。有效的金鑰演算法值為:RSA_2048 和 ECDSA_P256。
  • CA 集區。CA 集區不存在或設定有誤。CA 集區必須至少包含一個已啟用的 CA,且呼叫端必須具備目標Google Cloud 專案的 privateca.capools.use 權限。如果是區域憑證,憑證核發設定資源必須與 CA 集區建立在相同位置。

如果收到 Failed to create a managed certificate 錯誤,請檢查下列事項:

  • 您在建立憑證時指定的憑證核發設定資源存在。
  • 呼叫者對您在建立憑證時指定的憑證核發設定資源,擁有 certificatemanager.certissuanceconfigs.use 權限。
  • 憑證與憑證核發設定資源位於相同位置。

如果收到 Failed to renew certificate 或 Failed to provision certificate 錯誤,請檢查下列事項:

  • Certificate Manager 服務帳戶具備 roles/privateca.certificateRequester 權限,可存取這個憑證所用憑證核發設定資源中指定的 CA 集區。

    使用下列指令,檢查目標 CA 集區的權限:

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

    更改下列內容:

    • CA_POOL:目標 CA 集區的完整資源路徑和名稱
    • REGION:目標 Google Cloud 區域
  • 憑證核發政策已生效。詳情請參閱「與核發政策限制相關的問題」。

核發政策限制相關問題

如果 Certificate Manager 不支援憑證核發政策對憑證所做的變更,憑證佈建作業就會失敗,代管憑證的狀態也會變更為 Failed。如要解決問題,請確認以下事項:

針對先前核發的憑證,由於 CA 服務已核發憑證,因此會依據 CA 服務定價向您收費。

如果收到 Rejected for issuing certificates from the configured CA Pool 錯誤,表示憑證核發政策已封鎖要求的憑證。如要解決錯誤,請檢查下列事項:

如果是上述問題,由於 CA 服務尚未核發憑證,因此 CA 服務不會向您收費。

IAP 主機名稱比對相關問題

如果在使用 Certificate Manager 搭配 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 與負載平衡器聯絡。

後續步驟