多个私人SSL证书在一个共享的托pipe计划?

最近我联系了我的共享主机提供商,为我的一些网站设置了私有SSL。 我有几个网站托pipe在同一个计划下(该计划允许无限的域名)。 然而,有人告诉我说,由于它是共享主机,并且最终每个站点从相同的IP地址运行,所以我只能安装一个证书并且只保护我的一个站点(因为每个证书都需要一个专用的IP)。

他们给我的另一个select是使用共享证书; 这是不可接受的,因为浏览器会产生证书警告。 我的问题是:这是典型的共享托pipe服务提供商或我可以find一个允许我多个私人证书? 我目前正在开发几个网站,并希望保持在最低的成本,这就是为什么我还没有升级到VPS或专用主机。 谢谢。

由您的共享主机提供商提供给您的信息确实是准确的。

基于SSL的stream量必须绑定到单个IP地址,以便build立初始的SSL握手和encryption的连接。 这一切都是在Web服务器提供所请求的URI之前完成的。 正因为如此,你只能有一个证书绑定到每个IP地址。 虽然可以将无限域绑定到单个IP地址,但不能安装SSL证书。

许多共享提供商将允许您在某些共享托pipe计划上支付额外的IP地址,以允许使用SSL证书。 您可能会发现您的提供者实际上提供了这个服务,但是它可能仅在另一个计划中可用,因为这将被视为更高级的服务,因此可能无法使用更简单的托pipe计划。

编辑:这个问题是从2009年,当答案(下)是正确的。 如果现在人们碰到这个信息,那么它或多或less是不相关的:

现在的问题是关于SSL ,关于SSL的限制是仍然是正确的。 但是,现在大家都在使用TLS , 服务器名称指示 (SNI)已经广泛应用,正是为了解决这个问题。 当然,您仍然可以继续使用通配符证书,但是每个TLS主机的单个证书也是可能的 。

这对于原来2009年问题的情况没有帮助,但在编辑时更新的答案更为相关


2009年的原始答案:

关于每个IP的1个https端点的信息是正确的。 该协议是这样的:encryption在客户端和服务器协商URL之前开始,这是虚拟主机启用SSL所需要的。 密钥/证书将取决于URL(也就是主机名),用于在一个IP上设置多个证书,但在服务器知道要联系哪个URL之前使用该证书。

我知道该协议正在进行中,但目前这个问题没有解决scheme – 至less不是一般可用的。

更新:如果你只有一个IP,你可以使用通配符证书。 基本上,他们不是为www.example.com而是为* .example.comcertificate身份,以便您可以让多个主机共享相同的IP,而不会在浏览器中产生任何警告。

只有两种方法可以保护使用相同IP的多个域。 为每个证书使用不同的服务端口(此选项很糟糕),或者find允许在证书内使用SubjectAltName的CA.

通过SubjectAltName,您可以根据您的需要为每个证书定义多个DNS条目。 意味着一个证书将validation几个域。 这是超越通配符的,因为域名不必有任何共同之处。 作为一个例子,你可以看看CAcert允许这个。

如果使用实现SNI的Apache 2.2.12,则不再是这种情况,每个证书不再需要单个地址。 希望我们现在可以看到更多可用的共享主机。

https://www.digicert.com/ssl-support/apache-multiple-ssl-certificates-using-sni.htm

如果你可以find一个共享主机给你多个IP,你可以得到多个证书,但是你不能真正(据我所知)在同一个IP地址上拥有多个证书,除非它是共享的。

如果你想要一些更具成本效益的东西(而且你不怕做一些自己的configuration工作),你可以看看rackspace云(以前的Mosso,类似于EC2,只是便宜一点…你可以理论上每月运行一个15美元左右的开发服务器): http : //www.rackspacecloud.com

[更新]没有足够的代表尚未发表评论,但如下所述,您可以从技术上获得通配证书,该证书对域名(* .example.com,其中包括www.example.com)的所有子域名均有效。 但是,这不适用于多个域,由于Olaf解释的原因,您仍然需要多个IP地址。

这不是现在所有有用的答案,但是在将来,您应该能够使用服务器名称指示 ,它使用TLS协议中的扩展来发送服务器名称作为TLS握手的一部分。 它在RFC3546中有规定。 不幸的是,它不是很好的支持。 OpenSSL在默认情况下不启用它,直到5个月前发布的0.9.8j。 Windows XP上的IE不支持,但在Vista上。 而IIS根本不支持它。 直到XP上的所有用户都消失了,并且您的托pipe服务提供商升级了他们的服务器之后,您无法对此做任何事情。

诚然,你不能有一个单一的IP多个SSL证书。

然而,从技术上来说,获得对domain1.example.org domain2.example.com等有效的证书是可能的。

这是一个例子。

你的主机不允许你拥有专用的IP地址吗? 你应该能够find一个主机,允许你购买共享主机的计划,但专用的IP。 我们正在用服务器智力www.serverintellect.com做这个例子。 基本上,他们只是向我们收取我们所需的每个专用IP的单独小额费用。

我已经在一台使用IP别名的专用主机上成功部署了多个SSL证书。 如何可以或应该使用共享主机scheme,我无法回答。 我在IBM Developerworks上find了这篇文章,内容非常丰富。