名前ベースのバーチャルホストは SSL プロトコルの特徴により、 SSL セキュアサーバには使えません。
http://httpd.apache.org/docs/2.0/ja/vhosts/name-based.html
とういことだったんで、うちのサーバじゃsecure.waterblue.netをSSL専用として取り扱うようにしてたんですけど、ふと思い立って、試しにSSLに名前ベースのバーチャルホストを適用してみる設定をしてみた。
そしたら、できた。
はてさて。
一応、証拠。
https://union.waterblue.net/
https://secure.waterblue.net/
追記
なんで名前ベースのバーチャルホストはSSLじゃ使えないとしているのでしょう。
それともapache2のバージョンアップに伴い、できるようになったっていうだけ?
証明書の発行が面倒なのと、ドメイン取得が面倒なのとで試しませんが、同一IPアドレスでドメインが異なるような場合でも可能な気がします。
再追記
Why can't I use SSL with name-based/non-IP-based virtual hosts? [L]
The reason is very technical. Actually it's some sort of a chicken and egg problem: The SSL protocol layer stays below the HTTP protocol layer and encapsulates HTTP. When an SSL connection (HTTPS) is established Apache/mod_ssl has to negotiate the SSL protocol parameters with the client. For this mod_ssl has to consult the configuration of the virtual server (for instance it has to look for the cipher suite, the server certificate, etc.). But in order to dispatch to the correct virtual server Apache has to know the Host HTTP header field. For this the HTTP request header has to be read. This cannot be done before the SSL handshake is finished. But the information is already needed at the SSL handshake phase. Bingo!
http://www.modssl.org/docs/2.8/ssl_faq.html#ToC47
なるほど。
ということは、ドメインが異なる場合は無理くさい。
投稿者 邑波。 : 2005年12月09日 19:21