IIS SSL 证书不再从 Internet 可见

IIS SSL Certificate No longer visible from internet

把我的头发拉出来。昨天我在 IIS10 中设置了一个 SSL 证书。这是我遵循的过程:

  1. 在 IIS 中,在服务器证书下完成创建证书请求(生成 server.csr & server.key)
  2. 转到 sslforfree.com 并开始“创建证书”过程。
  3. 在域框中输入静态 IP
  4. 在有效性中,选择粘贴现有 CSR(粘贴 server.csr 的内容)
  5. Select 免费 90 天证书
  6. 选择 HTTP 文件上传并将授权文件添加到 IIS 中的虚拟共享。
  7. 验证正常。
  8. 下载证书
  9. 回到 IIS,select“完成证书请求”
  10. 浏览到 select“certificate.crt”文件。
  11. 给它一个友好的名字等,然后保存。
  12. 浏览到 IIS 站点下的网站,并 select 绑定。选择服务器的IP,传入的端口,以及新导入的SSL证书。
  13. 返回 sslforfree,检查安装。
  14. 万事如意

所以一切都很顺利,可以在浏览器等中看到证书,工作完成。

走到今天,服务器主动拒绝请求。回去查看我的SSL在sslforfree上的安装情况,已经找不到了。尝试删除并重新添加,但我似乎没有做任何事情让 SSL 可见。

不是证书被拒绝,浏览器根本不认为它在那里。为什么 IIS 会突然停止共享证书?我完全被难住了。

编辑

按照下面的建议,我使用 CloudFlare 设置了一个 DNS 名称并将其指向我的服务器。

我在 IIS 中设置绑定到 link 到新主机名并删除旧证书(一个用于端口 443,另一个用于运行 API 的端口 4443):

端口 80、443 和 4443 都在路由器上通过端口转发到我的服务器:

然后我下载了 Win-ACME 并成功创建了 Let's Encrypt 证书,并在任务计划程序中创建了续订任务。

SSL 证书现在显示在绑定中:

SSL 证书似乎一切正常:

...但是当我访问该站点时,使用的是新域名。同样的问题...没有证书:

所以我不确定这里的问题是什么...

当导入的证书没有关联私钥时,可能会发生此问题。解决方案是将 .CER 文件导入到您的系统(从请求证书的地方)人员存储中,然后使用私钥将其导出。然后将.pfx文件复制到所需的服务器,并从IIS下的服务器证书选项中导入。

你可以参考这个link:The Whole Story of "Server Certificate Disappears in IIS 7/7.5/8/8.5/10.0 After Installing It! Why!"

感谢 Lex Li,我能够使用 Jexus Manager 和 IIS Crypto 来找出问题所在。

我的机器上同时启用 TLS 1.2 和 TLS 1.3 似乎导致了问题。使用 Postman 发现了这个并禁用了某些 TLS 协议,最终让它工作。

对于那些可能遇到类似问题的人,在我的注册表中禁用 TLS 1.3 后使用此应用程序并将其设置为“最佳实践”,我终于让它工作了,并获得了证书。