メニュー
Amazon CloudFront
開発者ガイド (API Version 2016-09-29)

CloudFront とカスタムオリジンとの間の通信に HTTPS を必須にする

Amazon S3 バケットをオリジンとして使用している場合、CloudFront と Amazon S3 オリジンとの間の通信に HTTPS を必須にするを参照してください。

CloudFront とカスタムオリジンとの間の通信で HTTPS を必須にすることを希望し、オブジェクトの URL (例: https://d111111abcdef8.cloudfront.net/logo.jpg) のディストリビューションで CloudFront が割り当てたドメイン名を使用している場合、次の手順に従ってディストリビューション内の該当するオリジンで [Origin Protocol Policy] 設定を変更し、カスタムオリジンサーバーに SSL/TLS 証明書をインストールします。

CloudFront 設定を変更する

次の手順では、Elastic Load Balancing ロードバランサー、Amazon EC2 インスタンス、または他のカスタムオリジンとの通信で HTTPS を使用するために CloudFront を設定する方法について説明します。CloudFront API を使用してウェブディストリビューションを更新する方法については、Amazon CloudFront API リファレンス の「PUT Distribution Config」を参照してください。

CloudFront とカスタムオリジンとの間の通信で HTTPS を必須にするよう CloudFront を設定する

  1. AWS マネジメントコンソール にサインインし、https://console.aws.amazon.com/cloudfront/ にある、CloudFront コンソールを開きます。

  2. CloudFront コンソールの上部のペインで、更新するディストリビューションの ID を選択します。

  3. [Origins] タブで、更新するオリジンを選択し、[Edit] を選択します。

  4. 次の設定を更新します。

    オリジンプロトコルポリシー

    ディストリビューションの該当するオリジンで、[Origin Protocol Policy] を変更します。

    • [HTTPS Only] – CloudFront は HTTPS のみを使ってカスタムオリジンと通信します。

    • [Match Viewer] – CloudFront は、ビューワーのリクエストのプロトコルに応じて HTTP または HTTPS を使用し、カスタムオリジンと通信します。たとえば、[Origin Protocol Policy] の [Match Viewer] を選択し、ビューワーで HTTPS を使用して CloudFront からオブジェクトをリクエストする場合は、CloudFront でも HTTPS を使用してリクエストをオリジンに転送します。

      [Viewer Protocol Policy] で [Redirect HTTP to HTTPS] または [HTTPS Only] を指定する場合は、[Match Viewer] のみを選択します。

      ビューワーが HTTP と HTTPS の両方のプロトコルを使用してリクエストを行った場合も、CloudFront がオブジェクトをキャッシュするのは 1 回だけです。

    オリジン SSL プロトコル

    ディストリビューションの該当するオリジンで [Origin SSL Protocols] を選択します。SSLv3 プロトコルの安全性が低いため、オリジンが TLSv1 以降をサポートしていない場合にのみ SSLv3 を選択することをお勧めします。

    注記

    TLSv1 ハンドシェイクは SSLv3と互換性がありますが、TLSv1.1と TLSv1.2にはありません。この場合、openssl は SSLv3ハンドシェイクのみを送信します。

  5. [Yes, Edit] を選択します。

  6. CloudFront とカスタムオリジンとの間で HTTPS を必須にする追加のオリジンごとに、ステップ 3 から 5 を繰り返します。

  7. 本番環境で更新された情報を使用する前に、次を確認してください。

    • ビューワーに HTTPS の使用が必要とされるリクエストにのみ、各キャッシュ動作のパスパターンが適用されている。

    • CloudFront が評価する順番にキャッシュ動作がリストされている。詳細については、「パスパターン」を参照してください。

    • キャッシュ動作は、[Origin Protocol Policy] を変更したオリジンへのルーティングリクエストです。

カスタムオリジンサーバーに SSL/TLS 証明書をインストールする

SSL/TLS 証明書は、カスタムオリジンの次のソースから使用できます。

  • オリジンが Elastic Load Balancing ロードバランサーの場合、AWS Certificate Manager (ACM) が提供する証明書を使用できます。信頼されたサードパーティー認証機関が署名して ACM にインポートされた証明書を使用することもできます。

  • ELB ロードバランサー以外のオリジンの場合、信頼されたサードパーティー認証機関 (Comodo、DigiCert、Symantec など) によって署名された証明書を使用する必要があります。

CloudFront が HTTPS を使用してオリジンと通信するとき、CloudFront は証明書が信頼された認証機関によって発行されたものであることを確認します。CloudFront は Mozilla と同じ認証機関をサポートします。現在のリストについては、「Mozilla に付属する CA 証明書一覧」を参照してください。CloudFront とオリジンとの間の HTTPS 通信に自己署名証明書を使用することはできません。

重要

失効した証明書、無効な証明書、または自己署名証明書をオリジンサーバーが返したり、間違った順番の証明書チェーンを返したりした場合、CloudFront は TCP 接続を中断し、HTTP ステータスコード 502 (Bad Gateway) を返して、X-Cache ヘッダーを Error from cloudfront に設定します。中間証明書を含む、証明書チェーンが完全でない場合も、CloudFront は TCP 接続を中断します。

証明書のドメイン名の 1 つは、次の値の 1 つまたは両方と一致する必要があります。