LoginSignup
3
2

More than 1 year has passed since last update.

ロードバランサー (Cloudflare, AWS ELB 等) 配下で WordPress の常時接続を行う方法

Last updated at Posted at 2017-09-30

ロードバランサーの後ろで WordPress を動かしている場合、WordPress に到着した時は、https 接続ではなく、http 通信である場合があります。

https にしたのに、なぜか WordPress がリダイレクトループ ( Error 310 (net::ERR_TOO_MANY_REDIRECTS): There were too many redirects ) などのエラーが多発する場合があります。

その場合は、サーバーがロードバランサーの配下にある場合があります。

当てはまるケース

  • AWS ELB を使い、ELB と EC2 の間は、http (80) 番通信をしている場合
  • Cloudflare の 無料 SSL サービス Flexible SSL を使っている場合
  • Cloud9 の開発ツールを使っている場合 (AWS ELB の後ろにあります)
  • さくらインターネットのレンタルサーバーで SSL 接続をしたい

STEP1: wp-config.php に下記を追加

まだ [管理画面] - [一般] で URL を https にしないで下さい。インストール時は、http でインストールして下さい。

wp-config.php に下記を追加します。WordPress 4.5 だと、95行目あたりが良いかも。

通常の場合

通常の場合は下記です。

if ($_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https') {
    $_SERVER['HTTPS'] = 'on';
    $_ENV['HTTPS'] = 'on';
}

さくらインターネットの場合

さくらインターネットは、通常とは違うヘッダー情報になるので下記のように特別な記述にする必要があります。

if ($_SERVER['X-Sakura-Forwarded-For']) {
    $_SERVER['HTTPS'] = 'on';
    $_ENV['HTTPS'] = 'on';
}

STEP2: WordPress 管理画面で、https の設定

WordPress の設定をここで行って下さい。

[管理画面] - [一般] の「WordPress アドレス」「サイトアドレス」を、ここで https に変更して下さい。

参考記事

さくらのレンタルサーバーと concrete5 で常時SSLを実装する方法
https://concrete5.co.jp/blog/sakura-internet-ssl

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2