nginx 和一个域的两个证书(EV nad 通配符)

Posted

技术标签:

【中文标题】nginx 和一个域的两个证书(EV nad 通配符)【英文标题】:nginx and two certificates for one domain (EV nad wildcard) 【发布时间】:2016-04-27 09:25:10 【问题描述】:

我们的 domain.tld 有两个证书。一个带有 EV(用于 domain.tld 和 www.domain.tld)和用于子域的通配符。

我们的网站在 www.domain.tld 上运行(始终),子域用于图像 (img.domain.tld)。

我们正在使用 nginx“虚拟主机”:

  server 
#        listen       443;
        listen       443 ssl spdy;
        server_name  domain.tld *.domain.tld;
      
        ssl on;
        
        # wildcard        
        ssl_certificate /usr/local/nginx/cert/wildcard/uni_STAR_domain_tld.crt;                               
        ssl_certificate_key /usr/local/nginx/cert/wildcard/wildcarddomain.tld.key;
...

  server 
#        listen       443;
        listen       443 ssl spdy;
        server_name  www.domain.tld;
      
        ssl on;
        
        # EV        
        ssl_certificate /usr/local/nginx/cert/wildcard/EV_cert_domain_tld.crt;                               
        ssl_certificate_key /usr/local/nginx/cert/wildcard/EV.cert.domain.tld.key;
...

问题是有时是 www.domain.tld 使用 EV 证书,有时是通配符证书。为什么?

我们在单个专用 IP 地址上运行,但 nginx 启用了 SNI 支持。

【问题讨论】:

首先包含哪些配置? 我尝试切换它们。没有区别。有时是 EV 上的网站,有时是通配符上的网站。它在现场的一个会话中发生变化。 只是一个想法:也许它是 spdy:当您连接到 domain.tld 时,您的浏览器会打开一个 tls 会话。当您连接到 www.domain.tld 时,ip 是相同的,您拥有的 domain.tld 证书对该请求有效,也许 spdy 只是决定重用以前的 tls 会话。 参见chromium.org/spdy/spdy-whitepaper:“在许多情况下,SPDY 可以通过单个连接流式传输所有请求,而不管请求的资源来自多少个不同的域。” 好主意!是否可以帮助更改 www.domain.tld、domain.tld(此为 IP A)和 *.domain.tld(其余为 IP B)的 IP? 【参考方案1】:

当您认为通配符出现在 www.domain.tld(而不是 EV)中时,您可以检查证书的详细信息吗?也许是电动汽车:

由于内容混合,浏览器可以决定不显示 EV 绿条。

https://support.mozilla.org/fr/questions/932768

https://www.w3.org/TR/mixed-content/

【讨论】:

我检查了证书的详细信息......它不是 EV :(

以上是关于nginx 和一个域的两个证书(EV nad 通配符)的主要内容,如果未能解决你的问题,请参考以下文章

ssl证书介绍

nginx 为通配符域配置不同的证书

双语域通配符SSL证书?

二级域名需要单独申请SSL证书吗

centos+nginx申请Let's Encrypt 通配符HTTPS证书

cert-manager DNS01 质询失败 - 找不到通配符域的区域