CloudFlare で Flexible SSL を設定後に行うべき設定集

公開日:2018/06/02  最終更新日:2018/06/25  カテゴリー:サービス紹介

本記事では CloudFlare の Flexible SSL を設定した後に行う必要のある設定のうち、
通常のSSLとは違う特殊な設定が必要なものについて紹介していきます。
CloudFlare での Flexible SSL の設定がまだの人は
こちらの記事を参考に済ませておいてください。

1. SERVER変数を書き換える

Flexible SSLの場合、SSLでアクセスしているのは Cloudflare までで、
Cloudflare からサーバーには HTTPでアクセスしています。
ですから サーバー(プログラム)側は SSLでアクセスしていても
そうとはわからずに SSLに転送しようとして 無限ループが発生してしまいます。

それを防ぐために 次の記述をシステムが最初に読み込むファイルに
追加する必要があります。
例えば WordPress であれば wp-config.php に追記してください。
(編集が必要なのはここまでです ! より上への追記をお勧めします。)

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

2. 301リダイレクトの設定

2種類の方法を紹介しますので どちらかを設定してください。
最初に紹介する方法が サーバーへの負担なども少なくお勧めです。

2.1. Cloudflare で設定する方法(推奨)

タブ「Crypt」内の 「Always Use HTTPS」を ONにするだけです。

2.2. .htaccess で設定する方法

次の記述を .htaccess に追記します。

RewriteCond %{HTTP:X-Forwarded-Proto} =http 
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

3. 通常通りSSL化

ここまでの設定が完了したら 通常通り SSL化に必要な作業を行ってください。
WordPress であれば サイトアドレスの設定を変更したり、
記事内の 画像のパスやリンクを SSLに変更したりする必要があります。

4. 参考文献

本サイトでは URLに日本語を含んでいます。
メールなどで共有する場合は リンクとして認識されない場合がございますので、こちらをご利用ください。