GCP(Google Cloud Platform)を使用して、簡単にWordPressのブログサイトを構築する方法を解説するシリーズです。GCPを使ったことがない方や、ブログ初心者の方でもわかるよう一つ一つ手順を解説していきます。
第4回は構築したブログサイトをHTTPS化した後に発生する『リダイレクトループ』を解消する方法を解説します。
前回までの作業で構築したブログサイトにHTTPSでアクセスできるようになりました。
しかし、ロードバランサーにHTTPSの処理を任せる今回のような構成にした場合、リダイレクトループという現象が発生し、WordPressに正常にアクセスできないことがあります。
リダイレクトループが発生する原因
今回のような構成の場合、HTTPSの処理はロードバランサーが担い、WorpPressのWebサーバはHTTPで通信することになります。
WordPressには、通信がHTTPかHTTPSかを自動的に判定してデータを返してくれる機能がありますが、今回のような構成の場合はその機能がうまく動作せず、リダイレクトループや画面が真っ白で何も表示されないといった現象が発生します。
これを解消するには、WordPressに対してユーザがHTTPSで通信しているということを正確に教えてあげる必要があります。
リダイレクトループを解消する方法
まずはWordPressのURL設定を変更します。
管理画面の『設定 > 一般設定』にて、『WordPressアドレス(URL)』と『サイトアドレス(URL)』を”https://xxxxxxx”に変更します。
変更したら画面下部の『変更を保存』をクリックして設定を反映します。
続いて、WordPressのHTTPS判定機能の設定を変更します。この変更方法には2つの方法があります。
プラグインを使用する方法1のほうが簡単ですが、プラグインの数をなるべく減らしてサイトの動作を軽くしたい、という場合は方法2がよいでしょう。
変更方法1 プラグイン『SSL Insecure Content Fixer』を使用する
1つ目の方法はプラグイン『SSL Insecure Content Fixer』を使用する方法です。
管理画面『プラグイン > 新規追加』にて 『SSL Insecure Content Fixer』を検索して、『SSL Insecure Content Fixer』をインストール&有効化してください。
次に、SSL Insecure Content Fixerの設定を行います。
管理画面『設定 > SSL Insecure Content』を開いて、以下のように設定します。
設定項目 | 設定内容 |
---|---|
非セキュアコンテンツの修正方法 | シンプル |
HTTPS の検出方法 | HTTP_X_FORWARDED_PROTO (ロードバランサー、リバースプロキシ、NginX など) |
設定を変更したら、『変更を保存』をクリックします。
変更方法2 WordPress設定の変更
2つ目の方法は、WordPressの設定を直接変更する方法です。
この設定は管理コンソール(wp-admin)では行うことができず、WordPressの設定ファイルを直接編集する必要があります。
まずは、WordPress仮想マシンにログインします。
GCPコンソールにアクセスして、メニューから『Compute Engine>VMインスタンス』を選択します。
第1回で作成したWordPress仮想マシンの『接続』の項目にある『SSH』をクリックします。
『ブラウザでのSSH』ウィンドウが開き、サーバにSSHで接続されます。
以下のコマンドを実行します。
$ sudo vi /var/www/html/wp-config.php
WordPressの設定ファイル(wp-config.php)の編集画面になります。
キーボードのカーソルキーでカーソルを移動し、一番下から3行目のところにカーソルを合わせます。
ここでキーボードの『O』(オー)を押します。
INSERTモードになるので、以下の内容を入力します。(コピペ推奨)
if (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https') {
$_SERVER['HTTPS'] = 'on';
}
以下のようになっていればOKです。
入力したら、キーボードで『Esc』>『:wq』(コロン,ダブリュー,キュー)の順に入力し、『Enter』を押します。
編集をやり直したいときは、キーボードで『Esc』>『:q!』(コロン,キュー,!) > 『Enter』の順に入力して、変更内容を保存せずに設定ファイルの編集を終了します。
これで設定が変更されました。
おわりに
これで構築したブログサイトへHTTPSでアクセスできるようになっているはずです。
あとはテーマやプラグインなどの設定を進めていき、あなた好みの素敵なブログサイトを構築していきましょう。
次回は、WordPressサーバにSSL/TLSサーバ証明書を組み込んで、ロードバランサーを使用せずにブログサイトをHTTPS化する方法を解説します。