常時SSL


非SSL通信の危険性のため、常時SSL(AOSSL: Always  on SSL)という流れが本格化してきています。最終的には非SSL通信(80ポート通信)を廃止し、SSL(443ポート通信)のみしようという動きです。ただし、ブックマークや旧来のhttpへのリンクにが大量に存在するため、HTTP(80番ポート)は残し、80に来たリクエストは443にリダイレクトするという設定になっています。

代表的な常時SSLサイト

開始日 サイト
 2012年3月  Google検索(ログインした後)
 2014年3月  Gmail
 2014年7月  Facebook

リダイレクトの注意点

単純には、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から行い:

プリロードされたドメインのリストは、以下にあります: