常時SSL化、http→httpsへのリダイレクト方法

Webサイト制作

SSLの解説および、WordPressで作成するWebサイトを常時SSL化して、httpからhttpsへリダイレクトさせる意義と方法について解説します。

SSLについて

SSLとは、Secure Socket Layerの略で、インターネット上の通信を暗号化し、安全に通信するための技術です。SSL で保護された Web サイトはのURLは、「http」 ではなく 「https」 で始まります。

HTTP(HyperText Transfer protocol)は、WebサーバーとWebブラウザ間でコンテンツのやり取りをするためのプロトコル(手順)で、暗号化されていない平文の通信のため、通信経路の途中で盗聴や改ざんの恐れがあります。

一方、HTTPS(HyperText Transfer Protocol Secure)は、SSLで暗号化した通信経路上で、HTTPを使用するプロトコルです。暗号化されているため、通信経路の途中で盗聴されても通信内容が解読できず、改ざんもできないようになっています。

かつては、クレジットカード情報など個人情報を入力するページだけがHTTPSで、その他の一般のページはHTTPというのが一般的でした。ところが、最近はセキュリティ意識の高まりから、Webサイト全体をHTTPSを使用するという、常時SSL化が推奨されています。

このため、ブラウザでSSLを使用していないWebサイトにアクセスすると、URLバーに「保護されていません」とか、「セキュリティ保護なし」などと安全ではない旨の警告がでるようになっています。

Webサイトの常時SSL化

世間一般が、常時SSL化の流れに進んでいるので、個人ブログであっても、常時SSL化が必須となります。

このSSLを使用するには、まず、SSL証明書を取得する必要があります。

SSL証明書には、DV、OV、EVの3種類あります。DVには無料のものと有料がありますが、OV、EVは有料のみです。

  • DV(Domain Validation) ドメイン認証:ドメインの所有者を認証するだけの証明書
  • Organization Validation (OV) 組織認証:DVの内容に加え、Webサイトの運営者・運営組織の法的実在性を認証
  • Extended Validation (EV) EVの内容に加え、関連事業の法的実在性も認証

個人でSSL証明書を取得する場合は、無料のSSL証明書で十分かと思います。無料のSSLで有名なLet’s Encryptはほとんどのレンタルサーバーで、簡単に設定できるようになっています。

Webサイトを作り込んでから、常時SSL化しようとすると、色々書き換える箇所が発生するなど、余分な労力がかかるので、Webサイトを開始する最初の段階で行うのがよいと思います。

ロリポップ!レンタルサーバーの場合、常時SSL化するためには、「独自SSL(無料)」というもので、Let’s Encryptがボタンひとつで利用・設定できるようになっています。

独自SSL(無料)のお申込み・設定方法 / セキュリティ / マニュアル - ロリポップ!レンタルサーバー
ロリポップ!レンタルサーバーのご利用マニュアル 「独自SSL(無料)」 のお申込み・設定方法について説明したマニュアルページです。

次に、WordPressの設定画面で、URLの「http://なになに」を「https://なになに」に書き換えます。

WordPress設定画面でのURL変更

この操作により、今まで、「http://なになに」だったページに「https://なになに」というアドレスでアクセスすることで、SSLで接続できるようになります。

httpでアクセスしてきた場合に、httpsへリダイレクトする

上記までの設定で、一応常時SSL化ができました。一応と但し書きを付けたのは、このままでは、httpでも、httpsでもどちらでもアクセスできてしまうためです。「https://なになに」ではなく、「http://なになに」でアクセスする場合、httpで通信・表示されてしまいます。

このため、httpのURLにアクセスしようとすると、httpsのURLへリダイレクト(転送)させてやるという工夫が必要となる。このリダイレクトにより、完全に常時SSL化することができます。

具体的なやり方は、公開フォルダー直下の.htaccessファイルに

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</IfModule>

を追記します。WordPressを使用している場合は、上記を.htaccessに追加する箇所に留意が必要です。
 「# BEGIN WordPress」」で始まるブロックがありますが、このブロックよりも上の方の行に記載することが必要です。

また、Really Simple SSLプラグインを入れることで、リダイレクトすることもできますが、常時有効にしておく必要があるので、プラグインをいれることいよって動作が重くなったり、余計な副作用があったりと問題が生じる可能性があるのでプラグインのインストールは避け、.htaccessを書き換えた方が無難です。

スマホアプリのURL変更

WordPressのスマホアプリで、記事を書いている方の場合の話です。スマホアプリを使われてない方はには無関係の記述となります。

上記までの作業により、http→httpsに自分のアドレスが変わってしまったので、スマホアプリで以前のhttpのURLでは自分のサイトに接続できなくなってしまいます。

設定画面のサイトアドレスの設定では、URLhttpからhttpsに変更することができないので、対象のマイサイトを一旦削除し、再登録する必要があります。

コメント

タイトルとURLをコピーしました