2022.3.9|Web知識
Webサイトを常時SSL化(httpからhttps)する「.htaccess」の設定方法
「常時SSL化」とは、Webサイト全体をHTTPS化(通信の暗号化)することを指します。
Googleが「常時SSL化」を推奨していることもあり、WEBサイトをSSL化するのは今は必須です。
今回は、Webサイトを常時SSL化(httpからhttps)する「.htaccess」の設定方法を解説します。
本記事の内容
常時SSL化とは
「常時SSL化」とは、Webサイト全体をHTTPS化(通信の暗号化)することを指します。
また、SSL(Secure Sockets Layer)とはインターネット上の通信を暗号化する技術のことを表します。
SSLに対応しておくと、個人情報データを送受信する際の盗聴や改ざんを防ぐことが可能となり、セキュリティーが向上します。
SSLを導入するとWebサイトのURLが「http://」から「https://」に変更されます。(httpの後に s がつきます)
例
非SSL:「http://kingsite.jp」
SSL化:「https://kingsite.jp」
近年では、GoogleやYahoo!JAPANといった検索エンジンサイト、Facebook、Instagram、TwitterなどのSNSも常時SSL化されており、今までは、Google検索結果に表示されるサイトの70%~80%以上のWebサイトがSSL化されています。
常時SSL化するWebサイトに影響する3つのメリット
常時SSL化する事で「セキュリティの強化」、「SEO対策の強化」、「レスポンス速度の強化」など3つのメリットがあります。
セキュリティの強化(情報漏洩の回避)
WebサイトをSSL化し、データ通信を暗号化すると情報を傍受されても深刻な事態を回避できます。
通販サイトで商品を購入する場合、購入手続きで氏名や住所、クレジットカード情報を入力して購入しなくてはいけません。このような場合、WebサイトにSSL(HTTPS)を導入していると個人情報等の情報は暗号化されて通信が行われます。
SSL(HTTPS)化されていない通販サイトでは、通信が暗号化されておらず、第三者によって通信データを盗聴・改ざんされてしまうリスクが発生します。
また、お問い合わせフォームなど入力フォームを利用する場合も同じように入力した情報が盗まれる恐れがあります。
SSL(HTTPS)の導入を行う事で、セキュリティーが強化され個人情報などが外部に情報が漏れる可能性を最小限に抑えることができます。
SEO対策の強化(検索エンジン順位脱落の回避)
Googleでは、Webサイトのセキュリティを最優先事項とし、常時SSL化(HTTPS 暗号化)に関する対応を数年前から強化してきました。
Googleは、HTTPSであることをランキングシグナル(順位付けの要因)にすると発表し、同じクオリティのWebサイトでもSSL(HTTPS)化されているWebサイトを優先順位に表示させると記載されています。
Google ウェブマスター向け公式ブログ(HTTPS をランキング シグナルに使用します)
今後の動きを考えても、Googleや各検索エンジンでもセキュリティやSSL暗号化に関する重要度は上がるかもしれません。SEOの観点から見てもHTTPS化することは必要となってきます。
レスポンス速度の強化(通信速度遅延の回避)
「HTTPS」とは、サーバーからウェブページのデータを取得するためのプロトコルです。
「HTTP」は、「HTTP/0.9」「HTTP/1.1」「HTTP/2」「HTTP/3」とバージョンが変遷してきました。
従来の「HTTP/0.9」「HTTP/1.1」のバージョンではパフォーマンスの悪さが指摘され、レスポンス速度向上の取り組みとして「HTTP/2」が開発されました。
「HTTP/1.1」が「HTTP/2」に変遷され通信速度が高速化されました。
「HTTP/1.1」では、ブラウザ側からサーバーリクエストを受けた時に、同時に数個のリクエストしか受け入れなかったため容量が大きいファイルや画像がるとリクエストが返ってくるまでの時間がかかっていました。「HTTP/2」に変わり、同時に受け入れるリクエストの数量が増加しリクエスト速度が改善されるように、Webサイトの表示速度が強化されました。
そのため、HTTPS化を行った方がレスポンス速度の強化に繋がります。
常時SSL化(HTTPS 暗号化)までの流れ
ご利用なっているレンタルサーバーで設定できるSSLサーバー証明書の確認を行います。
SSLサーバー証明書は無料の証明書から有料の証明書があり、認証レベルの強度に応じて必要となるSSLサーバー証明書が異なります。
各証明書の強度を確認してから申し込みを行いましょう。
1.SSLサーバー証明書の申し込み
2.証明書発行の申請(CSRの作成等)
3.証明書のインストール
4.WebサイトのSSL化設定
無料SSLを提供しているレンタルサーバー
レンタルサーバーによりSSLサーバー証明書を無料で提供しているレンタルサーバーもあります。
無料SSLサーバー証明書は、有料と異なり設定方法が簡単です。有料SSLサーバー証明書と比べるとセキュリティ強度は低くなりますが、証明書のインストールなどの作業も無い場合が多く、簡単にSSLを利用できるようになります。
無料SSLサーバー証明書を提供しているレンタルサーバー
・さくらインターネット
・エックスサーバー
・お名前.com
常時SSL化(httpからhttps)する「.htaccess」の設定方法
SSLサーバー証明書の申し込みが完了すると、SSL(HTTPS)の利用ができるようになります。
申し込みが完了すると「http://」と「https://」両方のWebサイトを閲覧できるようになります。
常時SSL化対応を行う場合は、「http://」へのアクセスを全て「https://」のWebサイトに転送する必要があります。
「http://」から「https://」のWebサイトへ転送する場合は、「.htaccess」ファイルにリダイレクトの設定を記述します。
1.htaccess.txtファイルの作成
メモ帳などのテキストエディタを開いて「htaccess.txt」という名前のファイルを作成します。
.htaccess(ドットエイチティーアクセス)ファイルは、エディタでそのまま「.htaccess」の名前で保存しても保存ができないため、ここでは「htaccess.txt」という名前でファイルを作成します。
「htaccess.txt」ファイル内には、「http://」から「https://」に転送させるリダイレクトコードを記述します。
リダイレクトコードが記述出来れば保存してファイルの作成は完了です。
リダイレクトコード
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} !on
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</IfModule>
リダイレクトコード(WordPressの場合)
※WordPressの場合インストールを行うと.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 /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
2.htaccess.txtファイルのアップロード
「htaccess.txt」ファイルをサーバーにアップロードを行いますが、この時必ずドメイン直下にアップロードします。
「htaccess.txt」ファイルをアップロードしたらアップロードをした「htaccess.txt」ファイルの名前を変更します。ファイルの名前を「htaccess.txt」から「.htaccess」に変更します。
名前を「.htaccess」に変更出来たら完了です。
まとめ
常時SSL化を行う事でセキュリティ、SEO対策、レスポンス速度の強化に繋がるのであれば悩むことなく設定するべき項目ですね。今はどのWebサイトを見てもSSL対応しているサイトばかりですね。SSL化するメリットは重要度が高いのでSSL対応は必ずと言って良いくらい必要ですね。