非SSL通信の危険性のため、常時SSL(AOSSL: Always on SSL)という流れが本格化してきています。最終的には非SSL通信(80ポート通信)を廃止し、SSL(443ポート通信)のみしようという動きです。ただし、ブックマークや旧来のhttpへのリンクにが大量に存在するため、HTTP(80番ポート)は残し、80に来たリクエストは443にリダイレクトするという設定になっています。
代表的な常時SSLサイト
開始日 | サイト |
2012年3月 | Google検索(ログインした後) |
2014年3月 | Gmail |
2014年7月 |
リダイレクトの注意点
単純には、HTTPで飛び込んできたリクエストをSSL(HTTPS)サイトにリダイレクトさせます。ただし、リダイレクトには以下の2種類があり、SEO視点では301リダイレクトを使用し、リダイレクト元(HTTPサイト)のSEO資産を引き継がせる必要があります:
- 301リダイレクト:対象のリンクが恒常的に移動したことを示す
- 302リダイレクト:対象のリンクが臨時に移動したことを示す(ApacheのRewreiteRuleのデフォルト動作)
そしてGoogle検索等においては、301リダイレクトを設定することにより、新しいSSLサイトの方が検索に出てくるようになります。
常時SSLに関する用語
常時SSLに関連する用語を紹介します:
HSTS
最近のブラウザでは、サイト側が明示的に指定した場合、HTTPサイトへのリクエストを強制的にHTTPSに書き換えることが可能です。この仕組みは、HSTS (HTTP Strict Transport Security)と呼ばれており、Webサーバが”Strict-Transport-Security”ヘッダをSSL配信時に送信することにより実現されます。つまり、このヘッダを受け取ったブラウザは、以降のリクエスト時に(ユーザがHTTPを指定したとしても)強制的にSSLサイトにアクセスします。
プリロードHSTS
Chrome、FireFox等のブラウザでは、内部的に常時SSL化されたドメインのリスト(プリロードHSTS)を持っています。そして、ユーザがHTTPサイトにアクセスしようとしても、ブラウザ側でHTTPSへのアクセスとして処理します。このプリロードHSTSへのサイト登録は、以下のURLから行い:
プリロードされたドメインのリストは、以下にあります: