AWS上でALBの下にWordpressのインスタンスをぶらさげようとしてちょっとはまったのでメモ
- 構成
- EC2(Amazon Linux 2) + RDS(MySQL) + ALB というごくごくふつうの構成
 
- はまった点
- ふつうにHTTPSのリスナーをもつALB配下にWordpressをいれたEC2をぶらさげたら、インストール画面がHTTPのみのときとなんか違う
- Chromeのデベロッパーツールでのぞいてみたら mixed content の山になっていた
- どうやらCSSとかをHTTPで返してくるようだ
 
- 解決策
- ALB(CLBでもいっしょだけど)から転送されてきたときの HTTP_X_FORWARDED_PROTOを見て$_SERVER['HTTPS']と$_ENV['HTTPS']をonにしてやればいいみたい
- wp-config.php に下記の構文を入れる
 
- ALB(CLBでもいっしょだけど)から転送されてきたときの 
if($_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https') {
  $_SERVER['HTTPS'] = 'on';
  $_ENV['HTTPS'] = 'on';
}
以上です
