我可以在多个站点上使用受信任的 CA 证书吗?

Jos*_*eph 7 certificate

在多个站点上使用 CA 证书是否有任何技术/法律/合同限制?

单机?

多台机器?

还是要在每个站点的基础上使用证书?

Vag*_*err 10

您可以在多台机器上拥有一个证书。但是,除非所有机器的“站点名称”都相同(例如,一组 Web 服务器都为一个网站提供服务),否则您的用户将收到不匹配错误,因为证书与他们请求的服务器名称不匹配。

您可以在具有多个站点(例如虚拟主机)的单台机器上拥有证书,您将遇到与上述相同的问题。

如果您从单个服务器为多个“站点”提供服务,并希望用户的 Web 浏览器等满意,您将需要为主机分配多个证书多个 IP 地址。这是因为它是经过认证和加密的连接,这发生在客户端告诉您它感兴趣的站点之前。这是当前 SSL 协议的局限性。这个限制在最新的协议中得到了解决,但并不是所有的东西都支持。

2017 年 2 月更新:

自从提出这个问题以来,技术已经有了很大的进步,我回答了这个问题。SSL 协议已通过添加SNI得到改进,允许浏览器在证书交换之前连接并请求域。所以,你可以现在有多个网站使用SSL担任了从一台服务器有一个IP地址。SNI 几乎得到所有浏览器的普遍支持,因此您可以相当确信用户可以访问您的站点。您还可以使用通配符(例如“*.stackexchange.com”)将多个站点名称组合到一个证书中,并使用“证书主题替代名称”,如果您在此站点上签出 ssl 证书,这就是 stackexchange 正在执行的操作。

堆栈交换证书详细信息

更好的消息是,现在我们有了letencrypt,如果您只需要加密支持而不需要扩展验证,我们都可以免费获得我们的证书。并且让加密确实支持替代名称。