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

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

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

このトピックでは、アプリケーションへの HTTP トラフィックをエンドユーザーが開始した場合でも、処理する方法について説明します。これを行うには、HTTP から HTTPS へのリダイレクトを設定します。これは、HTTPS の強制と呼ばれることもあります。

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

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

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

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

アプリケーションの HTTP トラフィックを HTTPS にリダイレクトするには、環境のインスタンスのウェブサーバーまたは環境の Application Load Balancer を設定します。

インスタンスウェブサーバーを設定する

この方法は、任意のウェブサーバー環境で機能します。HTTP リダイレクトレスポンスステータスで HTTP トラフィックに応答するように、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 リスナーをリダイレクト用に変更します。