在做了一些研究之后,我还没有找到我的问题的确切答案。
我目前在一个VPS上托管客户端,VPS有两个IP地址:
XXX.XX.XXX.XX1
XXX.XX.XXX.XX2当我购买这个VPS时,据说第二个IP在那里为我托管我的SSL证书(S)。
我想知道如果所有域都指向同一个IP,我是否只需要一个覆盖IP的SSL证书?还是需要覆盖每个唯一域的单个SSL证书?
发布于 2018-02-11 19:31:24
SSL证书验证域或主机名,而不是IP地址。但是,大多数web服务器和浏览器现在都支持服务器名称指示(SNI)和主题替代名称(SAN),这意味着您不需要第二个IP地址。因此,你不再需要购买证书了。LetsEncrypt Certbot免费为多个域提供域验证证书。
发布于 2018-02-11 21:04:42
如果服务器不支持SNI,或者担心浏览器不支持SNI,那么每个域都需要一个证书,每个域都需要一个ip地址。
在SNI之前,当客户端进行https连接时,服务器必须接受它,并在它知道客户机想要连接的http主机之前对它进行解密。在该实例中,如果服务器在同一个ip地址上为多个http主机提供服务,服务器将始终假定客户端希望连接到配置中的第一个有序主机。如果响应中提供的证书与客户端请求的主机不匹配,浏览器将生成错误。因此,您必须在不同的ip地址上运行不同的域。
在启用SNI的情况下,服务器向客户端请求显示所有可用的证书,如果存在正确的证书,客户端可以将其主机请求与正确的证书匹配,这意味着只有在没有任何证书匹配的情况下才生成浏览器错误。
这允许您在同一个ip地址上拥有多个https主机。然而,您仍然需要每个域的https证书(免费或商业)。
发布于 2018-02-11 19:26:43
SSL证书是每个域,而不是每个IP。
您可以拥有1000个IPs but when you have certificate for domain myextradomain.com, then you can host this site on 1000 IPs的SSL证书:)。
如果您在示例中有许多子域:
您可以购买通配符证书,然后可以在所有子域上使用此证书。
https://serverfault.com/questions/896766
复制相似问题