AWS+nginX+KUSANAGI+WordPressの環境にSSLを導入する際にハマったので備忘録です。
事象:
- DBを書き換えてもソースビューの<?php bloginfo(‘template_url’); ?>とか<?php echo get_template_directory_uri(); ?>の出力が「HTTP://」のままで切り替わらない。
- 管理画面にログインできない(顔面蒼白)
発生条件:
- AWS+nginX+WordPressで、ELB側でSSLリダイレクト(http→https)をかける
対応策:
[wordpressインストールフォルダ/wp-config.php]の下の方に書いてある[require_once]文より上に、次のif文を追記します。
//ここから
if (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https')
$_SERVER['HTTPS'] = 'on';
//ここまで
//ここより上に書く
/** Sets up WordPress vars and included files. */
require_once(ABSPATH . 'wp-settings.php');
参考: