投稿日:2009年12月04日
これまで、SSL対応サイトを構築する場合、
一つのIPアドレスに一つのサイトしか構築することができませんでしたが、
Apache-2.2.12以降ではSNIという拡張機能が標準でサポートされるようになり、
名前ベースのVirtualHostでSSLを使うことが可能となりました。
■Apacheの設定を変更し、単一IPアドレス上で複数のSSLサイトを運用する
http://builder.japan.zdnet.com/news/story/0,3800079086,20402262,00.htm
では早速、設定をしてみます。
【必要なもの】
CentOS 5.4の場合、OpenSSLのバージョンは0.9.8eであるため、最新版の(0.9.8l)にバージョンアップする。
# wget http://www.openssl.org/source/openssl-0.9.8l.tar.gz # tar zxpf openssl-0.9.8l.tar.gz # cd openssl-0.9.8i # ./config --prefix=/usr/local/openssl enable-tlsext # make # make install # openssl version OpenSSL 0.9.8l 5 Nov 2009
上記バージョンのOpenSSLを使用するため、Apacheを再インストールする。
# cd /usr/local/src/httpd-2.2.12/ # ./configure --enable-ssl --with-ssl=/usr/local/openssl # make # make install
Apacheの設定ファイルを変更する。
Listen 443 NameVirtualHost *:443 SSLStrictSNIVHostCheck offDocumentRoot /www/bridge-ssl.jp/html/ ServerName bridge-ssl.jp ~ DocumentRoot /www/bridge-ssl2.jp/html/ ServerName bridge-ssl2.jp ~
以上で設定が完了です。
各ブラウザで動作確認を行ってみます。
【動作確認(Windows XP)】
対応しているブラウザがまだ一部ですので、実際の導入には時期尚早な感じですが、
無駄なIPアドレスを削減でき、Apacheの設定がシンプルになるのは大変嬉しいことなので、
早く一般化されることを期待しています。