SSLの履歴

Secure Sockets Layer

暗号化、認証を行うプロトコル。公開鍵方式。
認証局に公開鍵を持たせる
http://journal.mycom.co.jp/series/sslguide/001/

オレオレ証明書でも暗号化はできる。ただ、それが確かなドメインかという証明はできない。

複数のバーチャルホストで運用したい

フツー(SSLでない場合)の仮想サーバーは、送られてくるHTTPヘッダーのドメイン文字列を見て、サーバ内の定義と比較し、一致したサイトの定義に従って動作します。

しかし、SSLの場合は、そのHTTPヘッダーが暗号化されているので、送信元のドメインが確認できませ。したがって、サーバーに仮想ドメイン定義があってもその仮想ドメインを使えば良いのか、複数のSSL複合鍵があった場合、どの鍵をつかえばいいのかがわかりませので、無理です。

http://good-stream.com/goodstream/server/apache/tips/multissl.htm


無理です!

名前ベースのバーチャルホストは SSL プロトコルの特徴により、 SSL セキュアサーバには使えませ

http://www.apache.jp/manual/vhosts/name-based.html


整理しよう。

  • 名前ベースは、送信するHTTPリクエストヘッダーのドメインを見てどのVirtualHostを使うか判別する。
  • IPベースは、リクエストしたIPでどのVirtualHostを使うか判別する。
  • SSLはヘッダが暗号化されている
  • なので、SSL通信に名前ベースは使用できない。
  • しかし、IPとポートの組で指定することができる



1つのIPに2つのポート443と444を使う例
http://q.hatena.ne.jp/1175171428

2つのIPを使う例
http://good-stream.com/goodstream/server/apache/tips/multiss...

名前ベースのVirtualHostでそれぞれのSSLサーバ証明書を使う
http://websec-memo.blogspot.com/2007/07/virtualhostssl.html

SSLでName Based Virtual Host:ワイルドカード証明書が簡単でつ
http://www.terakado.jp/2008/11/sslnamevirtualhost.html