WordPressカスタマイズ事例

AWSでELB(ロードバランサ)使用のときの常時SSL対応

常時SSL(https://..)の WordPress のサイトをAWSのEC2に置いて、ELB(ロードバランサ)経由でアクセスさせたい場合、ELBにSSLを置いて、httpsアクセスはELBで引き受け、その後ろのEC2にはhttpで転送されることになります。
そのため、普通にやると、httpsアクセスでもWordPress側はhttpで来たと思ってhttpsリダイレクトしようとするので、リダイレクトループが発生して表示できません。
https -> http -> https -> …

そこで、ELBからのアクセスで、かつプロトコルがhttpsの場合には、強制的にhttpsで来たことにしてWordPress側で受けるように対応しましょう。
wp-config.php に以下の記述を加えればOKです。

if (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https')
$_SERVER['HTTPS'] = 'on';

AWS全盛期ですからね。
憶えておいて損はないです。
 
 
他にもSSL関係は曲者ぞろい。
こんなのもありますので参考に。
さくらインターネットのSNI SSLを利用して、URLが常時 https://~ なサイトをWordPressで作る方法


関連するWordPressカスタマイズ事例