我有几个网站托管在 IIS 8.5 实例上。我使用过letsencrypt-win-simple生成证书。此工具还将证书安装到 IIS 中。我收到报告称,由于 SSL 错误,某些浏览器(主要是 Android 手机)无法使用网站。
这是来自的示例输出openssl
:
$ openssl s_client -showcerts -connect ad.adtube.ir:443 -servername ad.adtube.ir
CONNECTED(00000003)
depth=0 CN = ad.adtube.ir
verify error:num=20:unable to get local issuer certificate
verify return:1
depth=0 CN = ad.adtube.ir
verify error:num=21:unable to verify the first certificate
verify return:1
我以前也遇到过这个错误,但我在 Apache 中解决了它。这是一个配置错误。我找不到任何与 IIS 相关的东西。这是我第一次操作 IIS 实例,真可惜 :)
无论如何,我能做什么?我也检查了 SSL Labs,问题的症状与这里比如。每个人都提到 Apache,好像这不应该发生在 IIS 中。
答案1
原来问题出在旧的 X1 证书上。解决方案发布这里对我有用。
以下是说明:
要获取它,您需要从 SysInternals212 下载 PsTools 并运行 psexec -i -s mmc.exe,转到文件 -> 添加-删除管理单元,选择证书和我的用户帐户。现在进入中级证书颁发机构,您应该会发现隐藏在那里的难以捉摸的 X1 证书。
删除 X1 然后重新启动 IIS 可能就足够了,但我最终在这里添加了 X3 证书以确保万无一失(右键单击证书列表 - 单击所有任务 -> 导入并选择 X3 文件)。
在此之后,您需要“接触” IIS 中的绑定(例如,更改证书然后再返回或删除/添加绑定),然后在重新启动 IIS 后,它最终将开始提供正确的链。