AWS上のWordPress常時SSL化に関するメモ

WordPress常時SSL化するにあたってELBやプロキシの裏にいてSSLの終端がWebサーバ本体でない場合は「X-Forwarded-Proto」が「https」か否かを見ましょうという話がある。まあ実際の所はWordPress関係ない話なのだけれど。

ただ、クライアント→(https)→CloudFront→(http)→ELB→(http)→Webサーバという構成でCloudFrontがSSLを終端しているときに同じ事をやると、CloudFrontとhttpでお話ししてるELBは「X-Forwarded-Proto」を「http」にしてしまう。

と、いうことでそういうときのためにあるのが「CloudFront-Forwarded-Proto」であり、これは当然無関係のELBが干渉してくるものではないので、CloudFrontを最前面にたててその後ろが多段になっているケースでもクライアントとやりとりしているプロトコルが取れますよと。

CloudFrontの仕様にも書いてあることなのだけれどWordPress常時SSL化に絡めた作業でうまくこの情報に辿り着かないケースがあるようなのでWordPressという単語を交えてメモしておくなど。

http://docs.aws.amazon.com/ja_jp/AmazonCloudFront/latest/DeveloperGuide/RequestAndResponseBehaviorCustomOrigin.html#request-custom-headers-behavior