こんにちは、風戸です。
8年間WEB制作を行っており、年間50以上のWEBサイトのプロデュースを行っています。
http(通信)、https(通信)、常時SSL、SSL証明書、保護されない通信などなど・・・。
サイトを作成する上で、これらのワードを見たことはないでしょうか。
結論から言うと、
常時SSL化された状態のWEBサイトを制作しましょう。
といった話題でよくでてくるワードとなります。
今回はこの常時SSL化について、要点を絞ってわかりやすく解説していきます。
https、SSL化に関する用語の整理
パソコンやスマホでWEBサイトを閲覧するとき、情報データをそのままの状態で送受信するのがhttp通信、情報データを暗号化した状態で送受信するのがhttps通信となります。
どのページもhttps通信で表示されるサイトが、「常時SSL化されているサイト」となります。
■http://(ドメイン名)~ で表示されるWEBサイト
→SSL(Secure Sockets Layer)通信を行っていない状態
URLの前に「保護されていない」と表示される
■https://(ドメイン名)~ で表示されるWEBサイト
→SSL通信を行っている状態※
URLの前に鍵マークが表示される
※サイト全体をこの通信で表示していることを”常時SSL”と呼びます
なぜ必要か
情報の送受信をSSL通信で行うことで、個人情報が流出するリスクを減らすことができます。お問合せフォームや、ECサイトなど。個人情報を入力(送受信)するサイトでは必須の機能といえます。
近年では、ユーザーが安全なコンテンツへアクセスできること。
を目的として、GoogleがWEBサイトを常時SSL化することを強く推奨しています。
そのため、GoogleにはWEBサイトの常時SSL化が望まれており、対応していないサイトは「安全性ではないサイト」とブラウザ上に表示されマイナスの評価を受けてしまいます。巨大な検索サイトであるGoogleや、ブラウザ使用率約70%(2020年6月末)を誇るGoogleのブラウザchromeでマイナス評価をうけるのは、かなりの痛手となります。
新規でサイトを作る場合には必ず常時SSLの対応をしましょう。
具体的な対策
サイトを常時SSL化するには、「SSL証明書」の発行が必要になります。
SSL証明書は、使用しているサーバー会社で申し込むのが一番簡単です。
よく利用されるレンタルサーバーの「SSL証明書」紹介ページのリンクを記載します。
SSL証明書の申し込み方法
ロリポップの場合
※サーバーのご紹介と一言コメント※
テクノドアではロリポップを使用しています。非常に安価で癖がないです。
さくらサーバーの場合
※サーバーのご紹介と一言コメント※
同じく価格が安くて老舗のサーバー。電話サポート充実。個人的にはHTMLでPHPincludeを動かそうとして泣かされました。
エックスサーバーの場合
※サーバーのご紹介と一言コメント※
初期費用は上記二つより高くなりますが、速度やサポートがよいとの評価。愛用者は多い印象。
mixhostの場合
※サーバーのご紹介と一言コメント※
個人的にビジネスシーンではあまり聞きません。日本で初めて高性能サーバー「LiteSpeed」を採用したりアダルトOKだとか。
※その他のサーバーをご利用の場合は、「(サーバー名) SSL証明書」で検索してみてください。
手順に沿って証明書の契約を行い、1日程度待てばサイトに自動的に反映されます。
反映されたかどうかは、サイトのURLをhttps://で叩いてみて、表示ができれば完了となります。
ワンランクアップ、httpのアクセスをhttpsへ転送
証明書を発行した段階では、httpとhttpsの両方でサイトが表示できる状態になっています。
検索エンジンは賢いので、両方存在している場合はhttpsの表示を優先するのですが、可能であればURLを統一(httpsでのみ表示できる状態)にする処理をいれましょう。
方法はhttpでアクセスがあった場合、自動的にhttpsのコンテンツへ転送するようにします。その方法は、.htaccessというファイルに301リダイレクトの設定を行います。
記載するコードは以下の通りです。
RewriteEngine on
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
上記をhtaccess内に書き込みます。(一番下にコピペでOKです。)
設定をすると、httpでアクセスした場合に、自動的にhttpsへ転送されるようになります。
参考:下記をクリックしてみてください。
https://tech-door.com/
自動的に、
https://tech-door.com/
へ転送されます。
FTP接続ソフトでのファイル編集がわかる方は、サーバーから.htaccessのファイルをDLし編集をしてください。
FTPがわからない方は「お使いのサーバー名 htaccess 編集」で検索してみてください。各レンタルサーバーが編集方法を記載しているので、説明に沿ってhtaccessの編集画面を開き、上記のコードを追記してください。
証明書の種類、コストについて
証明書には認証レベルやブランドの違いでさまざまな種類が存在します。
値段も無料のものから、100,000円/年 以上かかる高額なものまであります。
これらの違いは、暗号化機能での違いはほとんどなく、サイトやサイト運営者の実在証明といった機能の面で差があります。
従って、個人や中小企業のコーポレートサイト(決済などを含まないサイト)で利用する分には基本的に無償のもので構いません。
設定後のトラブルシューティング
証明書の設定をしても「保護された通信」(鍵マーク)の表示が出ないケースがあります。
主な原因は、「Mixed Content(=混在コンテンツ)」が非常に多いです。
Mixed Contentとは
ページのURLでhttpsを指定し、SSLの通信を試みますが、ページコンテンツの内部にhttp通信が混ざっている状態を表します。
例えば、ページのコード内にある、css、JavaScript、画像、SNSの読み込みが絶対パスでhttp://~とソース内に記述されている場合、該当事項となります。
証明書の発行を行ったにもかかわらず、保護された通信にならない場合は、Mixed Contentを疑ってみてください。(Ctrl+U(Windows) ⌘-Option-U(Mac))でソースコードを開き、http://が混ざってないか検索してみてください。
まとめ
httpsとはSSL通信を用いた暗号化通信です。
SSL通信を行うことで、ユーザーの安全性を高め、Googleの信頼性を下げないようにすることができます。
使用しているサーバーの条件に合わせてSSLの証明書を取得し、WEBサイトの常時SSL化を行っていきましょう。