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';
}
以上です