ValuesSSL Apache単一IPアドレス上で複数のSSLサイトを運用する

ValueSSL クイックSSLプレミアム ValueSSL

Apache単一IPアドレス上で複数のSSLサイトを運用する

Apacheのバージョン2.2.12以降では、SNI(Server Name Indication)という、SSLプロトコルに対する拡張機能がサポートされた。名前ベースのHTTPサイトを設定する場合と同じように名前ベースのHTTPSサイトを設定することが可能になるものである。
 Apache バージョン2.2.12で追加された機能のうち、最も重要なものはおそらく、単一IPアドレス上で複数のSSLサイトを運用できるようにするという、長らく多くのサーバ管理者に持ち望まれていた機能であろう。

 これまでは、特定のIPアドレスに対してSSL対応のWebサイトを割り当てた場合、そのサイト1つしかSSL対応のWebサイトを運用することができなかった。つまり、IPアドレスが2つあるのであれば、運用できるSSL対応Webサイトの数も2つまでとなるわけである。(デフォルトポート 443の場合)

 IPアドレスが2つある場合、通常のHTTPサイトであれば双方の、あるいは一方のIPアドレスに複数のサイトを割り当てることができるものの、HTTPSサイトはそれぞれのIPアドレスに1つずつしか割り当てることができない。

 Apacheのバージョン2.2.12以降ではSNIという、SSLプロトコルに対する拡張機能がサポートされるようになったため、その状況は一変した。これによって名前ベースのHTTPサイトを設定する場合と同じように、名前ベースのHTTPSサイトを設定できるようになったのである。つまり、5つのSSLサイトを運用する必要があっても、用意するIPアドレスは1つだけでよくなるというわけだ。

この拡張機能を利用するためには、当然、Apacheのバージョンは2.2.12以降でなければならない。
また、OpenSSLのバージョンは0.9.8f以降でなければならない。
そして、TLS拡張オプションを指定した状態でビルドされていなければならない。

さらに、ApacheはOpenSSLの上記のバージョンを用いてビルドされていなければならない。ApacheはOpenSSLの適切なバージョン(TLS拡張サポートを含んだバージョンのOpenSSL)を検出すると、SNIのサポートを有効化するようになっている。
 ただし、SNIはすべてのブラウザがサポートしているわけではない。とは言うものの、現在一般的になっているほとんどのブラウザはサポートしている。また、かなり以前からサポートしているブラウザもある。例を挙げると、Firefox 2.0以降やOpera 8.0以降、Internet Explorer 7.0以降(Vistaでのみ動作する)、Google Chrome、Safari 3.2.1(Mac OS X 10.5.6以降で動作する)がある。

IPアドレスの問題で、SSL導入をあきらめていたサーバ管理者にとって、非常にうれしい拡張機能である。今後ますますSSL導入のサイトが増えるのではないだろうか。

最終更新日 2009 年 10 月 30 日 金曜日 RSS 2.0