基于IP的SSL证书

11

我有两个域名指向同一个IP地址,目前在我的Apache配置中没有使用虚拟主机。我只是将/var/www/html/用作应用程序的根目录。 我需要购买两个Godaddy证书,一个用于每个域名吗?似乎Godaddy证书与域名绑定,而不是IP地址,请问是否可以澄清?

3个回答

12

没错,SSL证书是与域名绑定的,而不是IP地址。问题在于人们通常会在浏览器地址栏中输入域名而不是IP地址,SSL证书验证的是你在地址栏中输入的内容是否与证书上的匹配(也就是证书验证你输入的内容是否确实是你要获取的内容)。


1
证书与IP地址无关,但是在单个(地址+端口)上不能为同一IP地址配置多个证书。 SSL在任何HTTP请求之前进行协商,服务器无法响应正确域的证书。 - Zoredache
3
@Zoredache,实际上有一种方法是使用服务器名称指示(尽管并非所有客户端都支持它)。 - Bruno

4
SSL证书必须与浏览器URL栏中输入的主机名匹配。如果输入域名,则SSL证书必须与该域名匹配。如果使用两个不同的域名,则需要两个不同的SSL证书(或一个适用于多个域的证书)。如果您希望用户在浏览器中输入IP地址,则证书必须与该IP地址匹配。
但是,为了从值得信赖的供应商购买针对IP地址的证书(如果供应商愿意签署),您需要根据公开记录(例如ARIN、RIPE等)成为网段的所有者。请参见例如GobalSign FAQ

1
好的解释。然而,我在某个地方读到一些知名的CA正在为IP地址提供证书。想必你必须以某种方式证明你拥有该证书的IP地址。我不记得我在哪里读到这个了。无论如何,用户从未在浏览器地址栏中键入IP地址,因此这对OP没有帮助。 - President James K. Polk
当您使用IP地址连接SSL时,应进行反向查找以查找驻留在该地址上的域名,并且证书必须针对该IP地址。 - Jonas
@Jonas:浏览器不会这样做,因此即使证书与通过PTR查找获得的域匹配,您仍将收到证书警告。 - tylerl
@Jonas,不,使用IP地址时不会使用反向查找SSL。 IP地址可以在证书中(但它们必须是IP地址类型的Subject Alt Name,请参见此问题)。正如tylerl所述,由于极少数原因,这也非常罕见。(您还可以使用SNI在单个地址/端口上拥有多个证书,但并非所有浏览器都支持它。) - Bruno

3

这取决于SSL证书。其中一些允许指定多个域名。通常限制为两个名称(www.example.org和example.org)。

如果两个域名上的应用程序完全相同,您应该将seconddomain.com重定向到firstdomain.com-这样只需要关注一个域名。


我认为重定向不起作用,因为SSL连接(以及证书)首先得到验证 - 即使在301重定向处理之前。但是关于每个证书的多个域名的观点很好。 - Dean Harding

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接