跳至內容

使用自訂網域名稱調用 API Gateway API 時,如何解決憑證過期或「無效憑證」錯誤?

1 分的閱讀內容
0

我為 API Gateway API 設定自訂網域名稱。我收到 AWS Certificate Manager (ACM) 憑證過期或「無效憑證」的錯誤。

簡短說明

當用來建立自訂網域名稱的憑證過期時,會發生「憑證已過期錯誤」。

由於憑證中的通用名稱 (CN) 或主體名稱不相符,才會發生「無效憑證錯誤」。

解決方法

已過期的 ACM 憑證

如果您的憑證已過期,您可能會收到類似的下列錯誤:"SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED]"

若要檢查憑證是否過期,請執行類似下列項目的 OpenSSL 命令 s_client

openssl s_client -servername <custom domain name> -connect <custom domain name>:443 2>/dev/null | openssl x509 -noout -dates

若要續約憑證,請參閱 AWS Certificate Manager 中的受管憑證續約

若要避免憑證過期,請參閱如何在 ACM 中監控匯入憑證過期

不相符的 ACM 憑證

如果您的憑證具有不相符的 CN 或主體名稱,您會收到類似的下列錯誤: "ERR_CERT_COMMON_NAME_INVALID"

若要解決錯誤,請確認下列設定:

  • 用於建立自訂網域名稱的憑證存在於 ACM 中。
  • 憑證主體名稱或 CN 包含自訂網域名稱。例如,如果自訂網域名稱是 custom.example.com,則主體名稱或 CN 必須包含 custom.example.com 或\ *example.com。
  • 確認有 DNS 記錄指向 API Gateway 自訂網域名稱。DNS 記錄可以是 CNAME 或 A 類型。

**注意:**自訂網域名稱無法直接指向 execute-api 端點,因為憑證沒有列為主體替代名稱 (SAN) 的自訂網域。

範例組態:

custom.example.com -> CNAME record -> d-yg54udirl4.execute-api.us-east-1.amazonaws.com

您可以透過在類似下列項目的自訂網域上執行 dig 指令,檢查組態:

$ dig custom.example.com

相關資訊

如何解決 API Gateway 自訂網域名稱的 DNS 解析或憑證不符錯誤?