Changes between Initial Version and Version 1 of TipAndDoc/network/httpd


Ignore:
Timestamp:
Nov 10, 2009 12:11:30 AM (14 years ago)
Author:
mitty
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • TipAndDoc/network/httpd

    v1 v1  
     1[[PageOutline]] 
     2 
     3 = Name-based VirtualHost with SSL = 
     4 * [http://kjirou.sakura.ne.jp/wiki_mirror/index.php?a%2FApache#q549090f 名前ベースのバーチャルホストで複数ドメインにSSLを割り当てることは可能か?] 
     5   * 本質的な問題 
     6{{{ 
     7HTTP プロトコルと SSL の原理を考えてみても不可能なことは明らかですね。 
     8ネームベースのバーチャルホストは、HTTP リクエストヘッダに含まれる「Host」を参照 して 
     9アクセスするバーチャルホストを変化させますが、 
     10SSL 接続の場合、HTTP リクエストヘッダは暗号化されており、 
     11参照することができません。 
     12 
     13参照するためには、暗号を解読してやればよいわけですが、 
     14暗号を解読するためには先に証明書の交換を行う必要がありますね。 
     15}}} 
     16 
     17 * ただし、全てのVirtualHostで同じワイルドカード証明書を指定すれば可能 
     18 * [http://httpd.apache.org/docs/2.2/ssl/ssl_faq.html#vhosts2 Why is it not possible to use Name-Based Virtual Hosting to identify different SSL virtual hosts?] 
     19   * It is possible, but only if using a 2.2.12 or later web server, built with 0.9.8j or later OpenSSL. This is because it requires a feature that only the most recent revisions of the SSL specification added, called Server Name Indication (SNI). 
     20   * The reason is that the SSL protocol is a separate layer which encapsulates the HTTP protocol. So the SSL session is a separate transaction, that takes place before the HTTP session has begun. The server receives an SSL request on IP address X and port Y (usually 443). Since the SSL request did not contain any Host: field, the server had no way to decide which SSL virtual host to use. Usually, it just used the first one it found which matched the port and IP address specified.