エンタープライズ用途での利用が増えている「WordPress」の高速化チューニングテクニックを解説する本連載。今回は、WordPressサイトを常時SSLとHTTP/2に対応させ、無償SSLサーバ証明書であるLet's Encryptを導入する方法を解説します。
前回は、“いきなり1000倍高速”を実現するWordPress高速化チューニング済み仮想マシン「KUSANAGI」が本当に高速なのかを検証しました。
今回はその応用編として、WordPressサイトの「常時SSL化」と高速な通信プロトコルである「HTTP/2」への対応、そして無償で利用できるSSL証明書の「Let's Encrypt」を導入する方法を解説します。
常時SSL化とは、Webサイト「全体」をHTTPS化(SSL/TLS暗号化)して、Webサイトのセキュリティと信頼性を向上させる手法です。
これまでは、Webサイトの一部にのみSSLを適用する方法が一般的でした。例えばWordPressであれば、個人情報を扱うWebフォームや管理画面のみをHTTPS化して、一般的なコンテンツページは暗号化しないHTTPで運用するケースが多かったと思います。HTTPS化したページは暗号化されて通信されることから、暗号化と復号の処理でサーバの負荷が高くなります。また、ページのロード時間が長くなれば、ユーザーの利便性を損ねてしまいます。ですから、「暗号化は重要な部分にのみ」とする方法が採られていました。
しかし、サーバ性能が向上した2016年現在では、HTTPS化におけるオーバーヘッドは、PHPやMySQLなどの実行に伴う負荷に比べると軽微となり、深く気にしなくてもいい要因になってきました。
それどころか最近では、むしろ「常時SSLを積極的に採用すべき」という流れになってきています。例えば、以下のポイントが挙げられます。
Webブラウザとサーバの間では、コンテンツ以外にヘッダ情報の送受信も行われています。仮に個人情報などの重要な情報を扱わないページであっても、その中にはCookieに含まれるログイン情報などの重要な情報が含まれている可能性があります。常時SSL化すれば、これらの情報も暗号化して保護できます。
新しい通信プロトコル「HTTP/2」の登場によって、Webブラウザとサーバ間の通信の仕組みは、HTTP/1のピストン輸送方式から「並列輸送方式」の仕組みに変更され、より高速な通信とブラウザのレンダリングが可能になりました。
ちなみにHTTP/2は、主要なブラウザにおいて「HTTPSでのみ利用可能」となっています。ですから、WebサーバがHTTP/2に対応しているならば、常時SSLの採用はユーザーへの利便性の向上にもつながるということになります。
上記2つの理由から、グーグル、フェイスブック、ツイッターなどの世界の主要なWebサービスで、常時SSLの採用が加速しています。
特にグーグルは、全てのWebサイトの管理者にHTTPからHTTPS化への切り替えを推奨しています。何より、「HTTPSの採用が検索順位の決定要因に影響する」ことを表明したことも大きいでしょう。2017年以降、HTTPSを用いていないWebサイトを閲覧するユーザーに対して警告表示を行う仕組みを導入することも計画されています。
アクセス解析に利用されるリファラー情報は、HTTPSのページからHTTPのページへの遷移の際には送信されません。
主要なWebサービスがHTTPSに対応するようになった現在、運用中のWebサイトに外部のページから流入があったとしても、HTTPのまま運用しているWebサイトでは「どこから来たのか」を把握する情報を取得できない(しにくい)状況となってしまいます。
「Let's Encrypt」や「Symantec Encryption Everywhere」などの無償で利用できるSSL証明書の登場によって、自己証明ではない正規のSSL証明書を取得するためのハードルが低くなりました。
無償のSSL証明書には、商用版に対して幾つかの制限はあります。しかし、小規模/個人運営のWebサイトやステージング環境などにも、気軽に正規のSSL証明書を導入できるようになったのは大きな変革だと思います。
次のページから、具体的な「常時SSL化」したWordPressサイトの構築方法を解説します。
Copyright © ITmedia, Inc. All Rights Reserved.