Server Name Indication
IBM® HTTP Server の Server Name Indication (SNI) サポートにより、 TLS クライアントによって送信された SNI 拡張に基づいて、証明書選択を使用することができます。 これにより、名前ベース仮想ホストからの他のハンドシェーク関連設定を使用できます。
SNI の定義
- アドレス指定 ("*:443" など) が一致する各仮想ホストは、名前ベース仮想ホスト・グループを形成します。
- 名前ベース仮想ホスト・グループで最初にリストされた仮想ホストが、デフォルトの仮想ホストです。
SNI の要件
- デフォルトの仮想は、SSLServerCert ディレクティブに SNI 引数を指定する必要があります。
- 単一のアドレス指定 ("*:443" など) の仮想ホストのみが SNI に参加できます。
- 名前ベース仮想ホストの非デフォルト仮想ホストに、このモジュールからの SSLServerCert 以外のディレクティブが含まれていてはなりません。
- 「invalid」は、予約済みのサーバー名です。仮想ホストが "ServerName invalid" を指定してはなりません。
SNI の形式
SNI には、以下の 2 つの形式があります。
- SNI の最初の形式では、単一の仮想ホストのみが使用され、
SSLSNIMap ディレクティブを使用して、ホスト名と証明書ラベルのマッピングを行います。
<virtualhost *:443> ServerName example.com SSLEnable SNI SSLServerCert default SSLSNIMap a.example.com sni1-rsa SSLSNIMap a.example.com sni1-ecc SSLSNIMap b.example.com sni2 </virtualhost>
- SNI の 2 つ目の形式では、一連の仮想ホストが作成され、
ホスト名から証明書ラベルへのマッピングは、ServerName、ワイルドカードを使用しない ServerAlias、および SSLServerCert によって行います。
<virtualhost *:443> ServerName example.com SSLEnable SNI </virtualhost> <virtualhost *:443> ServerName a.example.com SSLEnable SSLServerCert sni1 </virtualhost> <virtualhost *:443> ServerName b.example.com ServerAlias other.example.com SSLEnable SSLServerCert sni2 </virtualhost>