

# CloudFront で HTTPS を使用する
<a name="using-https"></a>

ビューワーによる HTTPS の使用を必須とするように CloudFront を設定して、CloudFront がビューワーと通信するときの接続を暗号化することができます。また、オリジンに HTTPS を使用するように CloudFront を設定して、CloudFront がオリジンと通信するときの接続を暗号化することも可能です。

ビューワーとの通信とオリジンとの通信の両方で HTTPS を必須とするように CloudFront を設定する場合、CloudFront がオブジェクトのリクエストを受け取るときに以下が行われます。

1. ビューワーが HTTPS リクエストを CloudFront に送信します。ここで、ビューワーと CloudFront 間で何らかの SSL/TLS ネゴシエーションが実行されます。最終的に、ビューワーはリクエストを暗号化形式で送信します。

1. CloudFront のエッジロケーションにキャッシュされたレスポンスがある場合、CloudFront はレスポンスを暗号化してビューワーに返し、ビューワーがそれを復号化します。

1. CloudFront のエッジロケーションにキャッシュされたレスポンスがない場合、CloudFront はオリジンとの SSL/TLS ネゴシエーションを実行し、ネゴシエーションが完了すると、暗号化された形式でリクエストをオリジンに転送します。

1. オリジンは、リクエストを復号化して処理し (レスポンスを生成)、レスポンスを暗号化してから、そのレスポンスを CloudFront に返します。

1. CloudFront はレスポンスを復号化してから再度暗号化し、それをビューワーに転送します。また、CloudFront はエッジロケーションにレスポンスをキャッシュして、次回リクエストされたときに使用できるようにします。

1. ビューワーは応答の暗号化を解除します。

オリジンが Amazon S3 バケット、MediaStore、または HTTP/S サーバーなどのカスタムオリジンのどちらであるかに関係なく、プロセスは基本的に同じように機能します。

**注記**  
SSL の再ネゴシエーション型攻撃を阻止するために、CloudFront はビューワーリクエストとオリジンリクエストの再ネゴシエーションをサポートしていません。

CloudFront ディストリビューションの相互認証を有効にすることもできます。詳細については、「[CloudFront による相互 TLS 認証 (Viewer mTLS)オリジンの相互 TLS と CloudFront](mtls-authentication.md)」を参照してください。

ビューワーと CloudFront との間、また CloudFront とオリジンとの間で HTTPS を要求する方法については、次のトピックを参照してください。

**Topics**
+ [ビューワーと CloudFront の間に HTTPS を要求する](using-https-viewers-to-cloudfront.md)
+ [カスタムオリジンに HTTPS を要求する](using-https-cloudfront-to-custom-origin.md)
+ [Amazon S3 オリジンに HTTPS を要求する](using-https-cloudfront-to-s3-origin.md)
+ [ビューワーと CloudFront との間でサポートされているプロトコルと暗号](secure-connections-supported-viewer-protocols-ciphers.md)
+ [CloudFront とオリジンとの間でサポートされているプロトコルと暗号](secure-connections-supported-ciphers-cloudfront-to-origin.md)