网站不同部分的不同SSL证书

问题描述:

我在example.com上有一个网站,它加载了s.example.com(亚马逊云计算发行版)中的所有静态组件。网站不同部分的不同SSL证书

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

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

只要页面内的所有组件都是http或全部https,就应该能够使用不同的https:// 运行页面,浏览器不会收到警报。

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

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

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

所以你必须购买通配符证书,如果你想覆盖这两个域,他们都坐在相同的IP地址。

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

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

如果您不得不为这两个名称使用单个IP地址(和端口),如果您要使用两个不同的证书,则需要使用Server Name Indication (SNI)扩展名,这是相对较新的(可能不会得到所有浏览器的支持,但它似乎与最近的一起工作)。

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

之后,它是使用https://链接链接到页面内容(img ...)的问题,因为@ ring0已经说过了。