使用 OpenSSL 和以下命令查询 Sparkfun 的 CDN url 时:
openssl s_client -showcerts -connect dlnmh9ip6v2uc.cloudfront.net:443
证书中返回的通用名是*.sparkfun.com
,验证失败,但是如果在Chrome中加载主机,显示的通用名是*.cloudfront.net
这里发生了什么?
这导致了一个问题,因为我所在的环境通过 Squid SSL_Bump 代理 SSL,它为域生成由我本地受信任的 CA 签名的证书。这适用于除上述以外的所有域,因为 CN 不匹配,因为新证书是使用 OpenSSL 生成的。
编辑- 我已经验证了在远程数据中心的服务器上使用 OpenSSL 会发生同样的情况,该服务器直接连接到互联网,不涉及代理或过滤。
编辑- 该问题是由 SNI 引起的,已被接受,但要填写有关为什么会导致 Squid 和 SSL_Bump 出现问题的信息:
该项目将不支持将 SSL 服务器名称指示 (SNI) 信息转发到源服务器,并且会使这种支持更加困难。然而,SNI 转发有其自身的严重挑战(超出了本文档的范围),远远超过了额外的转发困难。
取自:http : //wiki.squid-cache.org/Features/BumpSslServerFirst