HTTPS を使用してウェブサイトにアクセスする際に発生する ACM 証明書のエラーを解決する方法を教えてください。

所要時間2分
0

AWS Certificate Manager (ACM) の証明書を使用して HTTPS 接続経由でウェブサイトにアクセスしましたが、接続が安全でない、プライベートである、または信頼できないというエラーメッセージが表示されます。

簡単な説明

ウェブサイトに HTTPS 接続を使用する場合は、SSL/TLS 証明書が必要です。ブラウザがウェブサイトにアクセスするときは、サーバー証明書のすべてのデータフィールドが有効である必要があります。ブラウザは、有効ではないデータフィールドを安全でない接続として識別します。

次のシナリオでは、証明書エラーメッセージが表示されることがあります。

  • 証明書がサーバー名として有効でない。
  • 証明書が失効している。
  • ウェブサイトの SSL/TLS 証明書が信頼されていない。
  • 接続の一部が保護されていない。
  • サポートされているAWS のサービスに証明書が関連付けられていない。
  • HTTP トラフィックが HTTPS にリダイレクトされていない。
  • Web サイトまたはアプリケーションが、ピン留めされた証明書を使用している。
  • 証明書の透明性ロギングが有効になっていない。

解決策

証明書がサーバー名として有効でない

クライアントがアクセスしたドメインを確認してから、サーバー証明書に含まれているドメイン名を確認します。ブラウザを使用してドメイン名を表示し、証明書の詳細を確認してください。URL 内のドメインは、証明書に含まれるドメイン名の少なくとも 1 つと一致する必要があります。ワイルドカード名 (\ ) を使用する場合、ワイルドカードは 1 つのサブドメインレベルにのみ一致します。たとえば、**\ .example.com login.example.comtest.example.com を保護できますが、ワイルドカードでは test.login.example.comexample.com を保護することはできません。

クライアントが example.comwww.example.com を使用してウェブサイトにアクセスできる場合は、証明書に複数のドメイン名を追加してください。追加されたドメイン名は、ウェブサイトで利用できる他のドメイン名やサブドメイン名にも適用されます。詳細については、「ACM certificate characteristics」を参照してください。

証明書が失効している

ACM が発行した証明書を使用する場合、ACM によって証明書の自動更新が試行されます。証明書の有効期限が切れている場合は、新しい証明書を発行またはインポートする必要があります。新しい証明書が発行されたら、ACM 証明書が使用されている AWS リソースを DNS レコードが指していることを確認します。詳細については、「Troubleshooting managed certificate renewal」を参照してください。

ウェブサイトの SSL/TLS 証明書が信頼されていない

ACM が発行する公開証明書は、ほとんどの最新のブラウザ、オペレーティングシステム、モバイルデバイスで信頼されています。ブラウザを最新バージョンに更新するか、別のコンピュータやブラウザからドメインにアクセスしてみてください。ACM を使用して自己署名証明書または公開証明書をインポートした場合、一部のブラウザーでは証明書が信頼されません。

このエラーを解決するには、ACMを使用して公開証明書をリクエストするか、認証局 (CA) に連絡してください。

接続の一部が保護されていない

最初のリクエストでウェブサイトの一部が HTTPS 経由で確立され、他の部分が HTTP 経由で確立された場合、混合コンテンツが発生する可能性があります。混合コンテンツでは、ウェブサイトにアクセスするクライアントに「Your connection is not fully secured」というエラーメッセージが表示されます。これは、ソースコード内のウェブサイト要素が HTTPS ではなく HTTP を使用するためです。

このエラーを解決するには、ソースコードを更新して、ウェブサイトのすべてのリソースを HTTPS 経由で読み込んでください。

サポートされているAWS のサービスに証明書が関連付けられていない

ACM 証明書またはプライベート AWS Private CA 証明書を AWS ベースのウェブサイトまたはアプリケーションに直接インストールすることはできません。ACM 証明書はサポートされている AWS サービスで設定する必要があります。詳細については、「Services integrated with ACM」を参照してください。

HTTP トラフィックが HTTPS にリダイレクトされていない

ACM 証明書を使って設定されたウェブサイトは、アクセスに HTTP トラフィックを使用するため、Application Load Balancer を使用して HTTP リクエストを HTTPS にリダイレクトすることができます。Application Load Balancer では、ドメインを別のドメインにリダイレクトすることも可能です。

Amazon CloudFront を使用している場合は、HTTPS トラフィックを要求 するようにディストリビューションを設定できます。詳細については、「CloudFront ディストリビューションを設定して SSL/TLS 証明書を使用する方法を教えてください」を参照してください。

ウェブサイトまたはアプリケーションが、ピン留めされた証明書を使用している

ACM が発行した SSL/TLS 証明書にウェブサイトやアプリケーションをピン留めすることは、ベストプラクティスではありません。ウェブサイトやアプリケーションは、Amazon Trust Services の表にあるすべての CA にピン留めしてください。

詳細については、「AWS で実行されているアプリケーションを ACM が発行した証明書にピン留めすることはできますか?」を参照してください。

証明書の透明性ロギングが有効になっていない

ACM が発行した証明書では、デフォルトで証明書透明性ロギングが有効になっています。透明性ロギングをオプトアウトした後で再び有効にする場合は、証明書の更新時または発行時に透明性ロギングを有効にする必要があります。

関連情報

ACM SSL/TLS 証明書を Classic Load Balancer、Application Load Balancer、または Network Load Balancer に関連付けるにはどうすればよいですか?

クライアントが「untrusted certificate」エラーを受け取らないように、Classic Load Balancer に SSL 証明書をアップロードする方法を教えてください。

ACM への証明書のインポート

コメントはありません