Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
2
Help us understand the problem. What is going on with this article?

More than 3 years have passed since last update.

@katzueno

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

ロードバランサーの後ろで 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

2
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
2
Help us understand the problem. What is going on with this article?