表題の通り。ここではないとあるWordPressのサイトをSSL化した時にハマった。
■ 環境
- WordPress 4.9.2
- Amazon Linux
- EC2
- ELB
■ WordPress
『設定 > 一般』にある下記2つの項目をSSLに設定した。ちなみにSSLはELBで終端とし、EC2へは”http“でアクセスしたい。
- WordPressアドレス
- サイトアドレス
どちらも、もともとある設定の”http“を”https“に変更した。”サイトアドレス“の変更時点では問題がなかったのだが、”WordPressアドレス“を”https“に変更したところ無限ループとなってしまった。
原因は、WordPressのPHPでは”https“でアクセスが来るはずと認識しているのに、実際にはELBで終端されているので”http“でアクセスが来てしまっているため、再度”https“にリダイレクトされている…という感じがする。
というわけで下記を”wp-config.php“に入れることで対応が可能であった。
if (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https')
$_SERVER['HTTPS'] = 'on';
以上。