NGINX:每个域共享多个ssl_certificate' s

时间:2016-12-30 21:57:57

标签: ssl nginx

是否可以让每个域使用多个ssl证书?当我谷歌这样做时,the top result is an article关于如何为两个域提供两个ssl_certificates,但是每个域都绑定到一个ssl_certificate。有没有办法让每个证书都绑定多个证书?我希望它工作的方式是尝试使用第一个ssl证书,如果失败,请尝试使用第二个证书,如果这不起作用,则回退到其他选项。我们尝试使用文章中的技术,但是当我们做nginx给了我们这个警告:

2016/12/30 20:31:41 [warn] 186#186: conflicting server name "domain1" on 0.0.0.0:443, ignored
nginx: [warn] conflicting server name "domain1" on 0.0.0.0:443, ignored
2016/12/30 20:31:41 [warn] 186#186: conflicting server name "domain2" on 0.0.0.0:443, ignored
nginx: [warn] conflicting server name "domain2" on 0.0.0.0:443, ignored

我们为什么要这样做? ssl_certificate是指允许访问一个入站域的文件,我们还希望nginx允许从另一个域进行访问。我对ssl /证书了解不多。是否有一种简单的方法可以修改ssl_certificate以允许多个域?那将是解决这个问题的另一种方法。

1 个答案:

答案 0 :(得分:1)

在TLS握手中只提供一个叶证书。如果此证书的验证失败,则握手将失败。虽然许多浏览器将使用较低协议TLS版本重试作为针对损坏服务器的回退,但这并不打算用于提供不同的证书。除此之外,浏览器外部几乎没有TLS实现实现此回退。

因此,服务器不支持在单个主机配置中提供多个叶证书。它们通常支持为不同的子域提供不同的证书,并且还可以使用不同的证书(即不同的IP地址或端口)为同一域提供不同的服务器。在较新的服务器中,单个配置也允许RSA和ECC证书(即ECDSA身份验证),但在这种情况下,服务器将根据客户端支持的密码选择相关证书,并且仍然只发送单个叶证书