chrome68になるにあたり、いよいよSSL化の必要に迫られてきた今日この頃。この度遅まきながら当ブログ(と所有サイト)をSSL化してみたので手順をそれとなく残しておく。
chrome68から、SSL化をしていないだけで警告が表示されるように
いよいよGoogleが本気。Chrome 68から全HTTPサイトに警告!
『企業Webサイト襲う「7月危機」』
そんな見出しも見るようになってきた。
これまでもSSL化の必要性を感じることはあったし、お仕事でもちょいちょい話に出てきたりしてたけど、自分のブログのSSL化は面倒で後回しにしていた。
もう少し時間が経てばより簡単にSSLを導入できるようになるだろうって思ってたのもあったけど。
とにかく、今後SSL化の需要はもっと高まってくるだろうし、個人的なサイトで色々やってみて慣れておいた方がいいだろうってことで、導入してみた。
いつものことながら、最近のWebサーバーのサービスやマニュアルは充実していて、慣れたら割とサクッとSSL化できるような気がした。案ずるより産むが易し。
ちなみに今回は自分の環境であるさくらサーバーでのやり方をメモしているけど、大手のレンタルサーバー屋さんであれば手順はそれほど違わないようだ。
無料SSLか、有料SSLか
まずは用途によって使用する証明書の種類を選ぶ。
- とにかくHTTPS化できて警告文が表示されなければいい
- コンタクトフォームくらいしか情報を入力するページがない
- 個人で所有・運営しているサイトだ
っていう場合は無料SSLで十分かなって雑感。
認証レベルが3段階あって、上がるほど高額になる。
手順について
どちらを選ぶかで微妙に手順が違う。
といっても無料SSLの方は「let’s encrypt」っていうところの証明書を使い、ほぼワンタッチでSSL化できる。
SSL化後の作業は無料でも有料でも共通で、
- アナリティクスのURLの設定変更
- サーチコンソールのURL設定とサイトマップ再登録
- 画像、サイト内リンクのhttp:// をhttpsに変更
- http宛のアクセスをhttpsへ 301リダイレクト設定
- (WordPressの場合)管理画面の設定でURLを変更
というものがある。
上記共通の手順については後述するが、さくらサーバーであればこのうち3番目〜5番目の手順はプラグインを使って対応できるようだ。
SSL化:無料SSLの場合
無料って聞くと身構えてしまうけど、「let’s encrypt」っていう証明書の運営はSSL(とか)を普及推進しているISRGという非営利団体で、スポンサーも大手がついているのでそこまで胡散臭くはない。
さくらサーバーの場合は、コンパネにログインして、、、
と長々と書こうとしたけど、公式のマニュアルがあったのでこっちを残す方が安全確実だ。
え、こんなに簡単にSSLが?
SSL化:有料SSLの場合(JPRS ドメイン認証)
こちらも懇切丁寧なマニュアルがあるのでこれを参照。
【JPRS ドメイン認証型SSL】サーバコントロールパネルからの申込み・導入手順
コンパネから申し込みすると、支払い確認後に自動で証明書がインストールされるので、面倒な作業が少し減るのね。
少しつまずいたところ:ドメインのWhois情報を確認
近頃ネット上に個人情報を載せたくないっていう人が多いのか、Whois代行っていうサービスがあってドメイン業者が代行してくれる場合がある。
SSL証明はドメインに対する信頼性についても審査を行う場合が多く、ここの情報がちゃんとサイトの運営者のものになっている必要がある。
ちゃんとWhois情報に自分の情報が入力されているか確認して、必要に応じて修正する。
もちろんWhois情報代行の設定解除も忘れないように。
WHOIS検索
お名前.comのドメインはこちらからでも調べられる
少しつまずいたところ:CSRの作成
「会社名」を入力するところ。個人の場合どうすんねん。って思ったけど、Whoisの名前のところ(sei mei)で問題ないみたい。
自動更新に対応してないようなので一応更新手順も残しておく。
【JPRS ドメイン認証型SSL】サーバコントロールパネルからの更新手順・インストール手順
SSL化後の作業(有料・無料共通)
外部サービスで登録しているURLの変更
サイト外のURLを変更する。
例えばGoogleアナリティクスとか、サーチコンソールとか。
画像、サイト内リンクのhttp:// をhttpsに変更
サイト内のURLを変更する。
しないと同じサイトなのにサイト内リンク先はSSL化されてないみたいな挙動になったりよくわからんことになる。
データベースを書き換えるんだけど、SQL文でやるとシリアライズ化されたURLの文字数が変わってしまうために不具合が起きる場合もあるらしいので、シリアライズされた文字列も置換できるスクリプトで対応する。
テストから本番へ!WordPressでURLが変わる場合のデータベース修正マニュアル
WordPress移行時にURLをSQLで直接一括置換はダメ! 「Search and Replace for WordPress Databases Script」を使おう
http宛のアクセスをhttpsへ 301リダイレクト設定
該当ドメインのルートディレクトリの.htaccessに下記を追記。
RewriteEngine on RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
※「# BEGIN WordPress」よりも前に記載する。
ちなみに何らかの事情でHTTPSからHTTPに飛ばしたいときは
RewriteEngine on RewriteCond %{HTTPS} on RewriteRule ^(.*)$ http://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
さくらサーバーで使えるプラグイン(2018/07/06時点WPバージョン 4.9.7では使えず)
使い勝手を試してみたかったが、現在(2018/07/06時点)WPバージョン 4.9.7ではエラーが出てしまい、プラグインを有効化できず断念。
終わりに
さくらインターネット万歳!思ったより簡単にSSL化できました。
では、よいSSLライフを。