第2回:AWS:ALBでHTTPをHTTPSにリダイレクトする
先日、下あごの親知らずを抜歯しました。どうして親知らずは横向きに生えるのでしょう。歯医者さんがいる時代に生まれてよかったです。
さて、今回は開発秘話というよりもAWSのコンソール画面のUIに物申す内容になっていますが、後学のために書き残しておきたいと思います(⚠記事内のキャプチャ画像は2023年2月時点のものです)
HTTPリクエストをHTTPSにリダイレクトする
AWSではACM(AWS Certificate Manager)でサーバー証明書を発行でき、簡単にWebページやアプリケーションをHTTPS化することができます。
ここでは、Listner=HTTPS(443番ポート)の設定が完了した後に、HTTP(80番ポート)のリクエストをHTTPSにリダイレクトするための設定を一緒に確認していきます。
まず、EC2コンソール⇒ロードバランサー⇒一覧を表示します。
そしてHTTPからHTTPSにリダイレクトしたいALBを選択します。
ALBの詳細画面の下部「Listnersタブ」にALBが受け付けているプロトコル:ポートが表示されています。
今回はHTTP:80のListerのルールを変更したいのですが、、、
パッと見では、どこからルールを編集すればよいのかわかりません。。。すこし拡大してみてみましょう。
はい、そうです。ルールを編集(追加)する場合には「1」をクリックします。
Listnersルールの画面が表示されるので、右上の[Manage rules]をクリックします。
ルールの編集画面から+タブを開いて「ルールの挿入」をクリックします。
+条件の追加で「パス」を選択します。
パスの値は*(すべて)にします。すべてのHTTPリクエストをHTTPSにリダイレクトするためです。
+アクションの追加で「リダイレクト先」を選択します。
プロトコル:HTTPS
ポート:443
デフォルトホスト、パス、クエリを使用…
301 - 完全に移動されました
入力ができたら、画面右上の「保存」をクリックします。
新しいルールが追加され、すべてのHTTPリクエストがHTTPSにリダイレクトされるようになりました。
設定自体はとても簡単ですが、ルールの編集へのリンクがわかりずらいのでキョロキョロしてしまう人もいるかと思います。誰かのお役に立てたなら幸いです。