多个 ssl 证书可以保护同一个子域吗?

Can multiple ssl certificates protect the same subdomain?

我在 www.learningdollars.com 和 dev.learningdollars.com 上有弹性 beanstalk 应用程序 运行ning,在 [=22= 上有一个 gitlab ubuntu 实例 运行ning ]

我正在考虑使用 AWS ACM,但它似乎只适用于弹性 beanstalk 应用程序(通过配置部分中的负载均衡器)而不适用于 gitlab 实例。

所以我在 AWS ACM 中注册了 *.learningdollars.com,我正在为 gitlab.learningdollars.com

从 godaddy 或 digicert 购买证书

从技术上讲,AWS ACM 证书涵盖 *.learningdollars.com,因此它涵盖 gitlab.learningdollars.com,但我无法访问原始文件,因此无法使用它。

那么我会 运行 解决上述步骤的任何问题吗?

好吧,证书只是证书颁发者声明提到的域名确实属于证书所有者(即您)。所以,是的,您可以拥有来自不同颁发者的同一域名的多个证书。如果是完全相同的域名(如 "you can have independent certificates from digicert and godaddy for gitlab.learningdollars.com and they both will be valid")。

这更像是拥有来自不同机构或国家的带照片的身份证件。例如护照和驾驶执照。拥有一个不会使另一个无效。 所以,浏览器只验证一个认证链。甚至没有人尝试检查同一域名是否存在其他证书(事实上,我认为一般情况下甚至不可能)。

您只应小心从同一颁发者获取交叉证书,因为即使在技术上是正确的情况,许多颁发者会自动使冲突的证书失效(假设您将使用新证书)。

话虽如此,我想澄清一下,您实际上可以通过使用负载均衡器在 beantalk 之外使用 ACM 证书。我发现它的成本与第三方证书的成本大致相同。但它也减轻了我在 https 安全问题后的一些负担(例如我们审查和更新密码列表或使用更新版本的 openssl 重建服务器)。我明白,对于一个非常受欢迎的网站来说,负载均衡器的成本可能要高得多。所以,你做你的数学。