![具有 SSL 的 IIS 网站的多个域名](https://linux22.com/image/491119/%E5%85%B7%E6%9C%89%20SSL%20%E7%9A%84%20IIS%20%E7%BD%91%E7%AB%99%E7%9A%84%E5%A4%9A%E4%B8%AA%E5%9F%9F%E5%90%8D.png)
首先,这不是关于子域或主机头和 SSL 的问题。
我想知道的是,我是否可以构建证书请求或找到证书提供商来颁发具有多个 CN(通用名称)的证书,以便安全访问https://www.abcde.com-或者-https://www.qwert.com在浏览器中看起来与 SSL 证书中的 CN 不匹配吗?
背景
我们有一个电子商务应用程序,在 URL 下运行http://www.abcde.com。该应用程序还有一个安全部分,可通过以下方式访问:https://www.abcde.com。这是一个非常正常的设置,但使用 SSL 通配符证书 (*.abcde.com) 除外,因为子域可能因此应用程序的业务用途而异。此应用程序的子域/域名差异与定制其外观和我们选定的合作伙伴的交易削减百分比有关。
我们现在希望将同一个应用程序用于业务用途,可以通过 URL 访问它http://www.qwert.com当然,还有一个安全部分可以访问https://www.qwert.com。
这会带来问题,因为我的证书是为 *.abcde.com 颁发的。根据肯·谢弗,可以生成具有多个 CN 的 CSR。
您听说过证书中有多个 CN 吗?您知道如何为此创建 CSR 吗?有证书供应商会满足这样的请求吗?
答案1
您应该检查一下所谓的“统一通信证书”。
看看这里可能会帮助你走上你想要的道路:http://rrr.thetruth.de/2008/04/openssl-certificates-with-multiple-domains-common-names/
答案2
最终,由 CA 的政策来决定从您的 CSR 中使用哪些字段。许多 CA 会采用 CN。或者采用其中之一。
通常,多个域名会添加到标题下的同一份证书中subjectAlternativeName
,而不是通用名称。CACert 允许您提交具有多个 SAN 的 CSR。
为什么其他人不这样做?他们想要你的钱。因此,微软和至少三家 CA 发明了一种新方法来窃取你的钱,即重复利用现有技术并采用新规则。这些是 IceMage 链接的 UC 证书。
答案3
一句话,不...
当我阅读您的问题时,我最初的想法是“通配符 SSL 证书”,但这不是您想要做的......您正在尝试在同一个 SSL 下使用多个域。
我目前不知道有哪个 SSL 发行商会做这种事情。您可能能够使用自签名证书……但您的浏览器会开始抱怨……所以这不好。
我认为您最好的/唯一真正的选择是为每个唯一的域名提供单独的 SSL 证书,但这又带来另一个问题。
每个 SSL 证书都需要一个单独的 IP 地址(假设您想为这些证书运行默认端口)。
根据我们讨论的域名数量...我认为您有两个选择:
为您想要支持的每个不同域名注册一个新的 SSL 证书,并相应地配置您的 Web 服务器。(即虚拟域)
注册一个通用域名,例如“secure-ssl-server.com”,并购买单个通配符证书,然后相应地命名您的子域名。(即 abcde.secure-ssl-server.com、qwert.secure-ssl-server.com、wxyz.secure-ssl-server.com 等)
就我个人而言,如果可以的话,我会赞成选项 2,因为维护单个通配符证书比处理大量证书要容易得多。
希望这可以帮助。