我遇到了与此问题描述的相同的问题: IIS 7 仍在提供旧的 SSL 证书
我已用新的 SSL 证书替换了旧的 SSL 证书,并从服务器上完全删除了旧证书。
当上述发帖者意识到他的网络服务器和互联网之间有一个 ISA 服务器时,他解决了他的问题,因此他从 ISA 缓存中清除了旧证书,问题就解决了。
我在其他地方看到过同样的解决方案: http://forums.iis.net/t/1182296.aspx
不幸的是,我无法向我的 ISP 证明问题不在我的服务器上,并且他们正在其基础设施的某个地方缓存旧证书。
我 99.999% 确定证书安装和绑定正确在 IIS 上:
- 我已经为站点配置了 2 个绑定,具有不同的备用端口 9443 和 8443。
- 旧证书之前已绑定到端口 9443 上的站点,现在两个绑定均使用新证书
- 我已配置 etc/hosts 文件以将绑定域指向 127.0.0.1,因此当我打开浏览器访问该域时,所有请求都是本地的
- 如果我从另一台机器(即通过 Web)访问这两个 URL,我会在端口 9443 上获得旧证书,在端口 8443 上获得新证书
- 如果我从 Web 服务器上的浏览器访问这两个 URL,我将在两个端口上获得新证书
我 99.999% 确定证书未缓存在客户端:
- 我使用 PC 和移动设备上的多个浏览器访问过该网站
- 我通过多种连接访问过该网站,包括我的公司局域网、家庭 DSL 和移动
我的下一步是执行类似 TLS 会话建立的跟踪路由之类的操作,以找出旧证书的来源,这样我就可以向我的 ISP 证明这是他们需要解决的问题。
这可能吗,有哪些工具可以实现这一点?
答案1
我认为您的 ISP 没有缓存任何相关内容,原因如下:
- 为了使用您的指纹提供您的证书,他们需要访问您的私钥
- ISP 通常不会缓存 SSL 流量
- ISP 尤其不会在非标准端口上缓存 SSL 流量
所以这似乎是您自己的服务器的问题。尝试重新启动它,尝试跟踪它,尝试使用 @MadHatter 等评论中的建议:
echo ""|openssl s_client -connect 127.0.0.1:9443 |openssl x509 -text -noout|&grep depth=0
此外,如果您使用 SNI 或类似的东西,请确保 IIS 中的默认非 SNI 网站具有正确的证书绑定,因为这至少是为非 SNI 客户端提供的,而且我看到当它们不匹配时会出现问题,而不应该出现问题。