サイトとブログをSSL化したので、その手順を簡単にまとめました。
前川企画印刷のサイトとこのブログ、一部のお客さまのサイトのSSL化を行いました。
少し前まではSSLを導入するのにもコストがかかっていましたが、最近は無料で使えるところも多くなってきました。
作業自体は難しいところは特にないので、利用しているサーバがSSLに対応しているようでしたら、ぜひ行ってみてください。
ただ少々詰まったところがあったので、簡単ではありますが手順を紹介します。
サーバの設定でSSLを有効にする
契約しているサーバによってやり方は変わるのですが、コントロルパネルからSSLの利用を開始することができます。
セキュア通信が利用できるようになるまで、20〜30分ほどかかりました。
サイト内のリンクをhttpsに書き換える
これはツールを使えば、すぐにできます。
検索・置換で
http://example.com
↓
https://example.com
のようにすればOKです。
.htaccessを
RewriteEngine on
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R,L]
とすれば、httpでアクセスしてきてもSSLサイトへ飛ばしてくれます。
WordPressの変更
少し手間がかかるのが、Wordpressの変更です。
データベースを扱っているので、効率良くプラグインを使用します。
使用したWordpressプラグインは、
・Really Simple SSL
・Search Regex
の2つです。
SSL化する前に、念のためにバックアップをとっておくようにしましょう。
『Really Simple SSL』でhttps化
https://で始まるURLでログインします。
プラグインから『Really Simple SSL』をインストールし、有効化。
『はい、SSLを有効化します』をクリック。
これでほぼSSL化は完了しました。
『Search Regex』を使って、http://をhttps://に置き換え
記事内のリンクなど、自ドメインのhttp://をhttps://に置き換えます。
プラグインから『Search Regex』をインストール後、有効化。
『http』→『https』で置き換えると大変なことになるので、きちんと『http://kobe-maekawa.co.jp』→『https://kobe-maekawa.co.jp』のようにドメイン全体を置き換えるようにしましょう。
ウィジェットは手動で修正
Search Regexはコンテンツ本文のみ適用されますので、ウィジェットのリンクは手動で行ってください。
サイトを確認
サイトを表示して、アドレスバーに鍵マークが表示されればOKです。
トップページだけではなく、コンテンツも表示してみましょう。
鍵マークが出ない時は、アフィリエイトなどの画像データ等が原因となっていることが多いようです。
ページのソースを表示して、エラーの出る箇所をつぶしていきましょう。
リダイレクトループが発生したら
リダイレクトループとは、転送先のたらい回しです。
さくらインターネットのサーバでは、コンテンツを表示した時にリダイレクトループが発生したので下記の処置を施しました。
wp-config.phpの最初に
if (isset($_SERVER['HTTP_X_SAKURA_FORWARDED_FOR'])) {
$_SERVER['HTTPS'] = 'on';
$_ENV['HTTPS'] = 'on';
$_SERVER['HTTP_HOST'] = 'kobe-maekawa.co.jp';
$_SERVER['SERVER_NAME'] = 'kobe-maekawa.co.jp';
$_ENV['HTTP_HOST'] = 'kobe-maekawa.co.jp';
$_ENV['SERVER_NAME'] = 'kobe-maekawa.co.jp';
}
.htaccessの最初に
RewriteEngine On
RewriteCond %{ENV:HTTPS} !^on$
RewriteCond %{HTTP:X-Sakura-Forwarded-For} ^$
RewriteCond %{REMOTE_ADDR} !=49.212.198.58
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
を入れることでリダイレクトループは起こらなくなりました。
不可視ファイルの編集などは少々面倒ではありますが、作業自体は難しいものではなく、SSL化は今後必要になってくると思われますので、できるなら早めに対応しておくことをオススメします。