もう3月も半ば。兄猫みゃおの一周忌も過ぎて、桜もちらほら。早過ぎます〜
さて、ちょっと気になっていたことがあって、検索でヒットしたページにアンカーを打っておきます(リンクを貼る、やね)。
ELB で http から https に 301 リダイレクトするとリダイレクトループになる場合の対処法 | Psychoco Laboratory
https://psychoco.net/misc/redirect-http-https-elb
Elastic Load Balancing を使用して HTTP トラフィックを HTTPS にリダイレクトする | AWS re:Post
https://repost.aws/ja/knowledge-center/redirect-http-https-elb
システム構成としては、ELB (Application Load Balancer) が HTTPS を終端した後、443/https と80/http のどちらも EC2サーバーへ繋いでくれます。ここで HTTP を HTTPS にリダイレクトしたいんですが、それをサーバー側でやる場合(ELB の設定でもできるそうです)。
このときサーバーはどちらも80/http で受けるので、常にリダイレクトすると無限ループになります。そこで「元々 ELB に届いた時に HTTPS だったか」判定する必要があって、そのとき使えるのが HTTP リクエストヘッダーの X-Forwarded-Proto です。
HTTP headers and Application Load Balancers – Elastic Load Balancing
https://docs.aws.amazon.com/elasticloadbalancing/latest/application/x-forwarded-headers.html
コメントを残す