single.php

ブログサイトを常時SSL化してみる。(SSL化は最初が肝心)

SSL使ってますか?Googleさんも推奨のサイトのSSL化の話です。

ブログが利用できるレンタルサーバーでも無償でサーバー証明書が発行できて、簡単にWordPressなどのブログサイトをHTTPS化できますが、実際に、運用してしまったサイトを後からSSL化するのは、今まで投稿してきた記事の置換などに苦労するので、やるなら最初からというノリで新しく作ったブログサイトを常時SSL化してみました。

Let’s EncryptでSSL化

レンタルサーバーでSSL化無料と謳っている機能は、たいてい(全部と言っても良い)、「Let’s Encrypt」でサーバー証明書を発行して実装されています。「公式サイト」でも書かれている通り、認証局や発行システムを自動化することでSSLの無償化を進めているプロジェクトです。

基本、証明書の発行や更新をAPI経由で自動化することで無償という形を実現しています。その分、実在性など信頼性についてはトレードオフになっていると思いますが、そもそもサーバーとブラウザ間の通信が暗号化できていれば目的は果たせています。

サーバー証明書には、実在性という一面もありますが企業のホームページでもない限り、この一面が重要になることは無いです。個人のブログのセキュリティであれば十分な仕様です。

簡単なサーバー証明書の発行

先回、「お名前.com」で作成しているブログサイトのSSL化をしてみた記事です。

ブログに保護された通信 お名前.comでLet’s Encryptを設定してみた

レンタルサーバー会社によって多少違いがありますが、サーバーの管理画面で簡単に証明書の発行はできました。

.htaccessの変更

サイト自体がSSL化できたら、通常のHTTPで接続された時にHTTPSにリダイレクト(転送)する仕組みを作れば、常時SSL化が可能になります。WordPressの場合、リダイレクトを設定するには、ルートにある「.htaccess」ファイルを編集します。

  1. FTPクライアント(お名前.comの場合は管理画面の「サーバー情報」から操作ができます)でサーバー内のルートフォルダから「.htaccess」ファイルをダウンロードします。
  2. ダウンロードしたファイルをメモ帳で開きます。
  3. ファイルの先頭部分に以下の内容を追加します。
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{HTTPS} off
    RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
    </IfModule>
  4. ファイルを保存して、ダウンロード同様にルートフォルダに上書きします。

最終的な.htaccessファイルの内容はこんな感じになります。

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</IfModule>
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /wp/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /wp/index.php [L]
</IfModule>

# END WordPress

WordPress内は簡単(最初だったら)

先回、設定してサイト自体はSSL化は出来たのですが、プラグインやテーマのカスタマイズなど行われているブログサイトの場合、運用の途中からだと、画像のソースやCSSスタイルシートなどのURLなど既に設定済みの部分を考慮する必要があります。

設定だけの場合には、データのプロトコル部分(http://)を全部SSL化(https://)に再設定を行うだけで済みますが、投稿してしまった記事が大量に有る場合には、記事の一括置換のプラグインなどを利用するくらいの作業工数が必要になるので、それはそれでリスクが発生します。

特に置換間違いなどが発生したら、せっかく流入が見込める記事をダメにしてしまう可能性があり、結局、得策では無いと判断して断念しました。

その他にもTwitterで拡散したい場合など、カードで表示するイメージの取得先などもSSL化する必要があり、途中から完全SSL化するには確認する部分が多すぎます。

まとめ

最初からSSL化を目標にサイトを作っていけば、不用意なリスクを踏む事はないので、これからブログに挑戦する方や、追加でサイトを作成する場合には最初からSSL化しておいたほうが無難です。Googleさんの方針(圧力)で、将来すべてのサイトがSSL化されるのも時間の問題ですので(笑)

スポンサーリンク

最後までご覧いただき、ありがとうございます。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です