所以我们公司希望将我们的云服务器分离到单独的环境中,所以 www.foo.com、test.foo.com 和 dev.foo.com。 [我们甚至可能想将我们的子域分解成更多的子域。]我的老板想知道公司需要多少证书(用于 SSL)。
我深入研究了子域,看起来像是 DNS RR(域名服务器资源记录)的问题。我看过有关 A 记录和 CNAME 记录以及它们如何相互作用的注释。我认为 A 和 CNAME 记录的混合应该足以分离出我们的命名空间。
但是证书呢,我们是否需要为每个 A 记录提供 SSL 证书?我的老板热衷于降低成本(所有老板都一样)。
最佳答案
验证是根据您的 URL 中的名称完成的。如果您的 URL 包含 IP 地址,则您必须拥有该 IP 的证书,如果您有名称,则该证书必须包含名称或与名称匹配的通配符。它不会执行任何 DNS 查找来查找不同的名称以进行验证。这些东西一起意味着例如:
- 如果您将 URL 与
www.example.com
、foo.example.com
、example.com
和所有这些 IP 一起使用必须包含在证书中,即使它们位于同一台服务器的末端。不能通过将www.example.com
设为example.com
的 CNAME 或通过 IP 的 RR 记录来减少在 URL 中包含您使用的所有名称的要求指向example.com
。 - 通配符只匹配最左边的一个标签。即
*.example.com
匹配foo.example.com
但不匹配example.com
或www.foo.example.com
。并且您只能有一个最左边的通配符,即没有foo.*.example.com
甚至*.*.example.com
。 - 您可以将多个主题组合到证书中,ypu 可以使用通配符,或者您可以为每个名称使用不同的证书。如果您有不同的名称和相同的 IP 地址,最后一个选项可能会出现问题,因为客户端需要支持 Server Name Indication (SNI) .
关于ssl - 对于 DNS 和 SSL,我是否需要为每个 (DNS RR) A 记录提供单独的证书?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31750782/