我想在一台服务器上使用多个 SSL 证书。在过去,只有当您有更多 IP 指向它时才有可能。现在我读到了 SNI,它可以实现这一点,尽管它只支持客户端的实际浏览器。我总是阅读 SNI 的先决条件,您至少需要 Apache 版本 2.2.12 和 OpenSSL 0.9.8f。
那么我可以通过这种技术使用来自 Thawte、Verisign 或其他证书颁发机构的证书吗?这些证书不是 OpenSSL,是吗?
我想在一台服务器上使用多个 SSL 证书。在过去,只有当您有更多 IP 指向它时才有可能。现在我读到了 SNI,它可以实现这一点,尽管它只支持客户端的实际浏览器。我总是阅读 SNI 的先决条件,您至少需要 Apache 版本 2.2.12 和 OpenSSL 0.9.8f。
那么我可以通过这种技术使用来自 Thawte、Verisign 或其他证书颁发机构的证书吗?这些证书不是 OpenSSL,是吗?
您已将 OpenSSL 作为加密库和使用 OpenSSL 创建的证书混合在一起。SNI 是关于 SSL 的,证书不是 SSL - 它们是独立的实体,通常由 SSL 使用。
要使 SNI 工作,您需要有一个服务器和一个客户端都支持 SNI。但是,您使用什么证书(或者您是否使用证书)并不重要。
服务器名称指示是客户端告诉服务器它正在请求哪个主机名的一种机制,以便服务器可以选择将哪个证书发送给客户端(如果它有多个)。证书的颁发者无关紧要。
客户端和服务器都必须支持 SNI 扩展才能使其正常工作。这就是为什么如果您使用带有 OpenSSL 的 Apache 服务器,您需要支持它的版本。客户端支持不仅限于浏览器(最新版本的 cURL 也应该支持 SNI),它会因浏览器/平台而异。