C ++ SSL虚拟主机

时间:2015-12-14 09:07:01

标签: c++ ssl boost virtualhost

在实现C ++服务器时,我遇到了两个域指向同一服务器的问题。 使用boost实现标准SSL服务器并不是一个真正的问题,但我现在需要以某种方式决定连接时使用哪个证书。 我知道这是可能的,因为它是Mass Webhosting中的常见做法。

例如,单个Apache / nginx能够在同一端口上使用两个不同的证书提供两个不同的https网站(443)。我想在C ++中实现类似的行为。

apache如何处理这个?

是否可以使用boost asio实现此功能,还是需要使用一些较低级别的API(OpenSSL / OS)?

1 个答案:

答案 0 :(得分:1)

预先告知服务器需要哪个主机的方法是使用服务器名称指示,如RFC 6066中所述。它向TLS添加了一个扩展字段server_name,其中包括服务器名称列表,然后服务器可以使用该列表。

这不是必填字段,因此并非所有浏览器或服务器都支持它。但目前主流产品的支持还不错。