ELB で http から https に 301 リダイレクトするとリダイレクトループになる場合の対処法

Redirect Loop ちょいメモ
このサイトはアフィリエイト広告(Amazonアソシエイト含む)を掲載しています。
スポンサーリンク

AWS で ELB(Classic Load Balancer)を通して Apache を公開している構成で、よくある 301 リダイレクトの設定をするとリダイレクトループになってしまう。

.htaccess の設定

ダメな例

良い例

https で受けたアクセスも、ELB から EC2 の内部的な通信は http で行っているため、普通に判定するとリダイレクトループが発生してしまう。X-Forwarded-Proto を使ってロードバランサーを通る前のプロトコルで判定する必要がある。

参考にしたサイト

ELB を使用して HTTP トラフィックを HTTPS にリダイレクトする
私は Classic Load Balancer で HTTP と HTTPS リスナーを使用しています。Classic Load Balancer は SSL をオフロードし、バックエンド接続は単一の HTTP ポート (ポート 80) ...

コメント

タイトルとURLをコピーしました