自社サイトのURLがhttp://のままになっていませんか。現在のWebブラウザはhttp://のサイトに対して「保護されていない通信」という警告を表示します。法人サイトであれば、SSLの設定は最低限の前提です。
この記事では、SSLとは何か、なぜ必要なのか、レンタルサーバーでどう設定するかを整理します。
SSLとは何か
SSLとは、Webサイトとブラウザの間の通信を暗号化する仕組みです。正式名称はSSL(Secure Sockets Layer)ですが、現在は後継規格のTLS(Transport Layer Security)が実際に使われています。慣習的に「SSL」または「SSL/TLS」と呼ばれることがほとんどです。
SSLが有効なサイトのURLはhttps://で始まります。ブラウザのアドレスバーに鍵のアイコンが表示されるのも、SSLが有効なサインです。
暗号化によって何が守られるか
SSLによる暗号化がない場合、ユーザーがフォームに入力した内容(名前・メールアドレス・問い合わせ内容など)が通信経路上で第三者に読み取られる可能性があります。SSL(HTTPS)を有効にすることで、この通信内容が暗号化され、第三者が読み取れない状態になります。
HTTP と HTTPS の違い
http://はデータが平文で送受信されます。https://はSSL/TLSによって暗号化された通信が行われます。フォームや会員機能がなくても、現在は全サイトでHTTPS化が標準とされています。
なぜ法人サイトにSSLが必要か
以下の3つの観点から、法人サイトのSSL設定は必須と考えてください。
ブラウザでの警告表示
Chrome・Safari・Firefoxなど主要ブラウザは、http://のページに対して「保護されていない通信」と表示します。問い合わせフォームやログインページがある場合は、より目立つ警告が出ます。
訪問者にこの警告が表示されると、サイトの信頼性を損なう原因になります。
SEOへの影響
Googleは2014年からHTTPS対応をランキング要因の一つとしています。同じ内容のページであれば、HTTPS化されているサイトの方が検索順位で有利になります。
フォーム・決済の安全性
問い合わせフォーム・資料請求・会員登録・決済ページでは、ユーザーの個人情報を扱います。SSLなしでこれらのページを運用することは、情報漏えいのリスクだけでなく、個人情報保護の観点からも問題があります。
SSL証明書の種類
SSL証明書にはいくつかの種類があります。法人サイトでどれを選べばよいかを整理します。
認証レベルによる違い
SSL証明書は、認証の厳格さによって3種類に分けられます。
DV証明書(ドメイン認証): ドメインの所有者であることだけを確認して発行されます。発行が速く、費用も安い(無料〜年間数千円程度)です。Let's Encryptで無料取得できるのがこのタイプです。一般的な法人サイト・ブログ・WordPressサイトに適しています。
OV証明書(組織認証): ドメインの所有に加え、運営組織の実在確認が行われます。発行に数日かかり、年間数万円程度の費用がかかります。企業の公式サイトや官公庁向けサイトで使われることがあります。
EV証明書(拡張認証): 最も厳格な認証で、法人登記の確認も行われます。以前はアドレスバーに企業名が表示されていましたが、現在のブラウザではEV専用の表示が縮小されており、一般サイトへの導入は減少しています。
多くの中小企業の法人サイトでは、DV証明書(無料SSL)で十分です。
無料SSL(Let's Encrypt)
Let's Encryptは非営利団体が提供する無料のSSL証明書です。主要なレンタルサーバーのほとんどが管理画面から数クリックで取得・有効化できる仕組みを用意しています。
有効期間は90日ですが、対応しているサーバーでは自動更新が設定されているため、期限切れを気にする必要はほとんどありません。
レンタルサーバーでのSSL設定手順
一般的なレンタルサーバーでのSSL有効化の流れを説明します。サーバーによって操作画面は異なりますが、手順は概ね共通しています。
1. ドメインをサーバーに設定する
SSL証明書はドメイン単位で発行されます。まず、使用するドメインがサーバーに正しく設定されていることを確認してください。独自ドメインを使う場合は、DNSのAレコードがサーバーのIPアドレスに向いている必要があります。
2. SSL証明書を取得・有効化する
サーバーの管理画面(コントロールパネル)から、SSL/TLSの設定メニューを開き、対象ドメインに対してSSL証明書を取得します。Let's EncryptによるSSLを「無料SSL」「SSL自動設定」などの名称で提供しているサーバーが多いです。
設定が完了すると、https://ドメイン名/ でサイトにアクセスできるようになります。
3. HTTPSへのリダイレクト設定をする
SSL証明書を取得しただけでは、http://とhttps://の両方でアクセスできる状態になります。http://からhttps://へ自動的に転送(リダイレクト)する設定が必要です。
.htaccessファイルに次の記述を追加することで、すべてのHTTPアクセスをHTTPSに転送できます。
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
WordPressの場合は、プラグイン(Really Simple SSLなど)を使うと設定が自動化できます。
4. サイトURL設定を更新する
WordPressを使っている場合は、管理画面の「設定 › 一般」でWordPressアドレスとサイトアドレスの両方をhttps://に変更します。変更後は管理画面からログアウトされることがありますが、再度ログインすればHTTPS化された管理画面にアクセスできます。
よくある設定ミスと対処
SSL設定後に発生しやすいトラブルと、その対処方法を整理します。
混在コンテンツ(Mixed Content)のエラー
https://のページ内にhttp://の画像やスクリプトが含まれていると、ブラウザが「Mixed Content」エラーを表示します。鍵マークが黄色になったり、コンテンツが表示されなかったりします。
対処は、ページ内のhttp://リンクをhttps://に書き換えることです。WordPressの場合は、データベース内のURLをWP-CLIのsearch-replaceコマンドで一括変換する方法があります。
SSL証明書の期限切れ
Let's EncryptのSSL証明書は有効期間が90日です。自動更新の設定が外れていたり、ドメインのDNS変更後に証明書の更新が失敗したりすると、期限切れになることがあります。
ブラウザに「この接続は保護されていません」という警告が出た場合は、まず証明書の有効期限を確認してください。有効期限内であれば、証明書の設定が正しくない可能性があります。
wwwあり・なしで証明書が一致しない
https://example.co.jpには証明書が設定されているが、https://www.example.co.jpには設定されていない(または逆)というケースがあります。wwwあり・なし両方のドメインに証明書を設定するか、どちらかにリダイレクトする設定を合わせて行ってください。
まとめ
SSLはWebサイトの通信を暗号化し、訪問者の安全を守るための基本的な設定です。ブラウザの警告回避・SEO・フォームの安全性という3つの理由から、法人サイトでは必須と考えてください。
主要なレンタルサーバーでは、Let's Encryptによる無料SSLを管理画面から数クリックで設定できます。設定後は混在コンテンツとHTTPSリダイレクトの確認まで行うことで、正しくHTTPS化された状態になります。