2

我在 example.com 上有一个站点,它从 s.example.com(亚马逊云端发行版)加载其所有静态组件。

现在我想让example.com的一些页面使用https所以我想我会为example.com购买一个ssl证书,但是由于这些页面从s.example.com加载图像和其他东西,所以https会中断某些组件未加密。

是否可以为 s.example.com 购买第二个证书?我问的原因是因为购买两个单域证书比购买通配符证书便宜得多。

4

3 回答 3

2

这取决于两台主机是否在相同的服务器和 IP 地址(使用虚拟主机)上运行。

简单的方法是能够托管两个不同example.coms.example.comIP 地址(可能是同一台机器),在这种情况下,您可以为每个地址配置不同的证书。

如果您被限制为两个名称只有一个 IP 地址(和端口),如果您想使用两个不同的证书,则需要使用服务器名称指示 (SNI)扩展,它是相对较新的(并且可能并非所有浏览器都支持,但它似乎适用于最近的浏览器)。

如果您不能使用 SNI,则需要相同的证书同时对两者都有效example.coms.example.com这可以通过将两个 DNS 条目放在主题备用名称扩展中,或者使用通配符来实现,如果两个主机的模式合适。这两个选项可能比使用商业 CA 的两个不同证书更昂贵。

之后https://,就像@ring0已经说过的那样,使用链接链接到页面内容(img ...)就是一个问题。

于 2010-08-25T16:17:22.537 回答
1

各种(子)域的各种证书的问题是您必须有一个域的专用 IP。这是由于 SSL 设计 - 建立第一个 SSL 连接并在此时验证证书。服务器此时不知道要出示哪个证书。只有在成功握手后,才会发送带有域名的 HTTP 请求。

因此,如果您希望覆盖两个域并且它们都位于相同的 IP 地址上,则必须购买通配符证书。

于 2010-08-25T16:09:38.300 回答
0

只要页面内的所有组件都是 http 或全部是 https ,您应该能够运行具有不同 https://的页面,而不会收到来自浏览器的警告。

<img src="https://example.com/a.jpg"/>
<img src="https://s.example.com/b.jpg"/>

您必须使各种证书保持最新。

于 2010-08-25T15:56:49.667 回答