HTTP から HTTPS へのリダイレクトの設定 - AWS Elastic Beanstalk

「翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。」

HTTP から HTTPS へのリダイレクトの設定

Elastic Beanstalk 環境の HTTPS の設定」およびそのサブトピックでは、HTTPS を使用してアプリケーションへのトラフィックを暗号化できるように Elastic Beanstalk 環境を設定する方法について説明します。このトピックでは、エンドユーザーがアプリケーションへの HTTP トラフィックを開始した場合に、それをエレガントに処理する方法について説明します。これを行うには、HTTP から HTTPS へのリダイレクトを設定します。これは、HTTPS の強制と呼ばれることもあります。

リダイレクトを設定するには、まず、HTTPS トラフィックを処理するように環境を設定します。次に、HTTP トラフィックを HTTPS にリダイレクトします。これらの 2 つのステップについては、以下のサブセクションで説明します。

HTTPS トラフィックを処理するように環境を設定する

環境の負荷分散設定に応じて、以下のいずれかの操作を行います。

HTTP トラフィックを HTTPS にリダイレクトする

HTTP トラフィックが HTTPS にリダイレクトされるように、環境のインスタンスのウェブサーバーまたは環境の Application Load Balancer を設定できます。次のいずれかを行ってください。

  • インスタンスウェブサーバーを設定する – この方法はいずれのウェブサーバー環境でも使用できます。HTTP トラフィックへの応答時に HTTP リダイレクトレスポンスステータスが使用されるように、Elastic Compute Cloud (Amazon EC2) インスタンスでウェブサーバーを設定します。この設定は、環境のプラットフォームによって異なります。GitHub の https-redirect コレクションでプラットフォームのフォルダを探して、そのフォルダ内のサンプル設定ファイルを使用します。

    環境で Elastic Load Balancing ヘルスチェックを使用している場合、ロードバランサーは、正常なインスタンスが HTTP ヘルスチェックメッセージに HTTP 200 (OK) で応答することを想定します。したがって、ウェブサーバーはこれらのメッセージを HTTPS にリダイレクトすべきではありません。https-redirect のサンプル設定ファイルでは、この要件が正しく処理されています。

  • ロードバランサーを設定する – この方法は、Application Load Balancer を使用する負荷分散された環境がある場合に機能します。Application Load Balancer は、HTTP トラフィックの受信時にリダイレクトレスポンスを送信できます。この場合、環境のインスタンスでリダイレクトを設定する必要はありません。GitHub には、リダイレクト用に Application Load Balancer を設定する方法を示す 2 つのサンプル設定ファイルがあります。alb-http-to-https-redirection-full.config 設定ファイルでは、ポート 443 で HTTPS リスナーを作成し、受信 HTTP トラフィックを HTTPS にリダイレクトするようにデフォルトのポート 80 リスナーを変更します。alb-http-to-https-redirection.config 設定ファイルでは、443 リスナーが定義されることを想定しています (標準の Elastic Beanstalk 設定名前空間または Elastic Beanstalk コンソールを使用できます)。次に、ポート 80 リスナーをリダイレクト用に変更します。