Amazon CloudFront
開発者ガイド (API バージョン 2016-09-29)

CloudFront で HTTPS を使用する

ウェブディストリビューションでは、オブジェクトのリクエストでビューワーが HTTPS を使用するように CloudFront を設定して、CloudFront とビューワーとの通信で接続を暗号化できます。また、オリジンからオブジェクトを取得する際に が HTTPS を使用するように設定すると、 とオリジンとの通信で接続が暗号化されます。

ビューワーとの通信とオリジンとの通信の両方で HTTPS が必要であるよう CloudFront を設定した場合、CloudFront がオブジェクトのリクエストを受け取ると、次のようになります。

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

  2. オブジェクトが CloudFront エッジキャッシュに存在する場合、CloudFront はレスポンスを暗号化してビューワーに返し、ビューワーはレスポンスの暗号化を解除します。

  3. オブジェクトが CloudFront キャッシュに存在しない場合、CloudFront はオリジンとの SSL/TLS ネゴシエーションを実行し、ネゴシエーションが完了すると、オリジンにリクエストを暗号化形式で転送します。

  4. オリジンはリクエストの暗号化を解除した後、要求されたオブジェクトを暗号化して CloudFront に返します。

  5. CloudFront はレスポンスの暗号化を解除した後にレスポンスを再度暗号化し、オブジェクトをビューワーに転送します。また、CloudFront はオブジェクトをエッジキャッシュに保存します。これで、同じオブジェクトが次に要求されたときに、キャッシュ内のオブジェクトを使用できます。

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

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

注記

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

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