IHS配置多域名的SSL证书

SSL v2的设计顺应经典的公钥基础设施PKI(public key infrastructure)设计,后者认为一个服务器只提供一个服务从而也就只使用一个证书。这意味着服务器可以在TLS启动的早期阶段发送或提交证书,因为它知道它在为哪个域服务。HTTP服务器开启虚拟主机支持后,每个服务器通过相同的地址可以为很多域提供服务。服务器检查每一个请求来决定它在为哪个域服务。这个信息通常从HTTP请求头获得。不幸的是,当设置了TLS加密,服务器在读取HTTP请求里面的域名之前已经向客户端提交了证书,也就是已经为默认域提供了服务。因此,这种为虚拟主机提供安全的简单途径经常导致使用了错误的数字证书,从而导致浏览器对用户发出警告。 以上描述摘自OpenWares。详细了解请到:服务器名字指示SNI(Server Name Indication) 即访问www.buyberry.net会读取到beta.buyberry.net的证书,这样浏览器会报证书错误。 因此需要Server Name Indication (RFC 4366)这个扩展协议来修正。标准apache是支持Name Based SSL VHosts With SNI 。前提需要 OpenSSL 0.9.8f 之后才能支持。但是IHS并不支持这个扩展协议。