カテゴリー
AWS

AWS ALB配下にWordPressを入れたら繋がらない

前にAzure Front Door経由でWordpressを公開したときも同じハマり方をしたような気がするけども……。

原因は、リバースプロキシ配下だとHTTPS経由で通信しているかどうか判別できないためにリダイレクトし続けてしまうため。

対処法は、https://wordpress.org/support/article/administration-over-ssl/#using-a-reverse-proxy にもあるが $_SERVER[‘HTTP_X_FORWARDED_PROTO’] をみてリバースプロキシ配下にいるかどうかを判別してやるコードを wp-config.php に書き加えてやること。
※ 下記のコード例は、参考URLにあったものを少し手直ししている。

if (strpos($_SERVER['HTTP_X_FORWARDED_PROTO'], 'https') !== false) {
  $_SERVER['HTTPS']='on';
  $_SERVER['HTTP_HOST'] = $_SERVER['HTTP_X_FORWARDED_HOST'];
  $_SERVER['REMOTE_ADDR'] = $_SERVER['HTTP_X_FORWARDED_FOR'];
}