AWSのALBを使っている場合のHTTPからHTTPSへのURL転送方法

管理者blog

Amazon Web ServicesにALB(Application Load Balancer)が導入されました。

このALB、外から来たHTTPリクエストのSSLを解除して、ALBとWebサーバの間をHTTP通信に変更する機能があるのですが、その影響で、ALBとクライアントの通信がHTTPだろうがHTTPSだろうが、WebサーバにとってはHTTP通信のように見えてしまいます。そのため、ALBを意識していない設定では、リダイレクトループに陥ってしまいます。

ALBを通してもちゃんと動く例

以下のように設定すると、ALBを通してSSLが解除されている場合も、元のプロトコルにて正しく判定されます。2行目はALBを通さず直接リクエストを受けた場合の判定、3行目ALBを通してアクセスした場合の判定で、これらの条件を両方満たしている場合のみhttps://のURLにリダイレクトします。

RewriteEngine on
RewriteCond %{HTTPS} off
RewriteCond %{HTTP:X-Forwarded-Proto} !https [NC] RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R,L]

Quizgeneratorで問題・クイズを作ったら、メンバー管理・成績管理ができる「learningBOX」を使ってみよう。

Quizgeneratorで作った問題・クイズをeラーニングに。「learningBOX」は教材作成、メンバー管理、成績管理などeラーニング機能の全てをご用意!作るのに専門的な知識は必要なく直観的に操作できるシステムです!

learningBOXを無料利用しよう!
  1. No comments yet.

  1. No trackbacks yet.

Related posts