カテゴリ

Apache OpenSSL

Send to Kindle

参照)
http://e-garakuta.net/techinfo/doku.php/linux/apache-sni
http://builder.japan.zdnet.com/etc/20402262/
http://slashdot.jp/journal/495893/%E3%82%A6%E3%82%A7%E3%83%96%E3%83%96%E3%83%A9%E3%82%A6%E3%82%B6%E3%81%AESNI%E5%AF%BE%E5%BF%9C

あたり。

1つのIPアドレスで複数のコモンネームのSSL証明書を利用することは、従来できずSSLを有効にするためだけのために、バーチャルホストごとに別のIPアドレスを用意して充てることも多かったのですが、

  • Apache httpd 2.2.12以降
  • OpenSSL 0.9.8f以降

の組み合わせであれば SNI(Server Name Indication) というSSLプロトコルの拡張仕様が利用できるようになったため、1IPアドレス・複数コモンネームが実現できるようになりました。
※ただし、ブラウザ側の対応も必要。
※ただし、普通に使っているブラウザであればほとんど対応済み。

すでにディストリビューション側のパッケージでも対応しているものもあるみたいですが、opensslをソースインストールする場合、config オプションで enable-tlsext を追記する必要があります。
CentOS であれば例えばこんな感じ。

その上でhttpdのコンパイルオプションでopensslのパスを上記のソース版のopensslのインストールパスを指定することで、SNIが有効になります。
自分がいつも使うのはこんな感じ。
なお、apr/apr-util についてはソースインストールしています。

後はhttpdのVirtualHostの設定でいくつか設定すれば1つのIPアドレスで複数のコモンネームのSSL証明書が利用できることを試せるはずです。

コメント

いただいたコメント
  1. […] + SSL 1つのIPアドレスで複数のコモンネームのSSL証明書を利用する(=SNI)。 さくらVPSにopensslインストールしてphpからhttps接続させる apache+mod_sslでSSL […]