カスタムドメイン名を使用して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

証明書を更新するには、「ACM 証明書のマネージド更新」を参照してください。

証明書の有効期限切れを防ぐには、「ACM でインポートされた証明書の有効期限を監視する方法」を参照してください。

ACM 証明書の不一致

証明書の CN またはサブジェクト名が一致しない場合、次のようなエラーが表示されることがあります。

「ERR_CERT_COMMON_NAME_INVALID」

以下の設定を確認します。

  • カスタムドメイン名の作成に使用された証明書が ACM に存在する。
  • 証明書のサブジェクト名または CN に、カスタムドメイン名が含まれている。例えば、カスタムドメイン名が custom.example.com の場合、サブジェクト名または CN には custom.example.com または *example.com を含める必要があります。
  • API Gateway のカスタムドメイン名を指す DNS レコードがあることを確認します。DNS レコードは CNAME または A タイプのどちらでもかまいません。

注意: 証明書にサブジェクト代替名 (SAN) としてリストされているカスタムドメインがないため、カスタムドメイン名は execute-api エンドポイントを直接指すことはできません。

設定の例:

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

以下のようなカスタムドメインで dig コマンドを実行することで、設定を確認できます。

$ dig custom.example.com

関連情報

API Gateway カスタムドメイン名の DNS 解決エラーまたは証明書不一致エラーを解決する方法を教えてください。

コメントはありません

関連するコンテンツ