伺服器名稱指示
IBM® HTTP Server 的「伺服器名稱指示 (SNI)」支援可讓您根據 TLS 用戶端傳送的 SNI 延伸規格來使用憑證選擇。 它可讓您使用來自名稱型虛擬主機的其他信號交換相關設定。
SNI 的定義
- 每一個具有相符位址規格(例如 "*:443")的虛擬主機會形成一個名稱型虛擬主機群組。
- 名稱型虛擬主機群組中第一個列出的虛擬主機是預設虛擬主機。
SNI 的需求
- 預設虛擬必須指定 SNI 引數給 SSLServerCert 指引。
- 虛擬主機必須只有單一位址規格(例如 "*:443")才能參與 SNI。
- 名稱型虛擬主機的非預設虛擬主機不能包含此模組中 SSLServerCert 以外的其他指引。
- "invalid" 是保留的伺服器名稱。虛擬主機不能指定 "ServerName invalid"。
SNI 的形式
有兩種形式的 SNI:
- 在第一種形式的 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 中,將會建立一連串的虛擬主機,並透過 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>