IIS SSL 证书不再从 Internet 可见
IIS SSL Certificate No longer visible from internet
把我的头发拉出来。昨天我在 IIS10 中设置了一个 SSL 证书。这是我遵循的过程:
- 在 IIS 中,在服务器证书下完成创建证书请求(生成 server.csr & server.key)
- 转到 sslforfree.com 并开始“创建证书”过程。
- 在域框中输入静态 IP
- 在有效性中,选择粘贴现有 CSR(粘贴 server.csr 的内容)
- Select 免费 90 天证书
- 选择 HTTP 文件上传并将授权文件添加到 IIS 中的虚拟共享。
- 验证正常。
- 下载证书
- 回到 IIS,select“完成证书请求”
- 浏览到 select“certificate.crt”文件。
- 给它一个友好的名字等,然后保存。
- 浏览到 IIS 站点下的网站,并 select 绑定。选择服务器的IP,传入的端口,以及新导入的SSL证书。
- 返回 sslforfree,检查安装。
- 万事如意
所以一切都很顺利,可以在浏览器等中看到证书,工作完成。
走到今天,服务器主动拒绝请求。回去查看我的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 后使用此应用程序并将其设置为“最佳实践”,我终于让它工作了,并获得了证书。
把我的头发拉出来。昨天我在 IIS10 中设置了一个 SSL 证书。这是我遵循的过程:
- 在 IIS 中,在服务器证书下完成创建证书请求(生成 server.csr & server.key)
- 转到 sslforfree.com 并开始“创建证书”过程。
- 在域框中输入静态 IP
- 在有效性中,选择粘贴现有 CSR(粘贴 server.csr 的内容)
- Select 免费 90 天证书
- 选择 HTTP 文件上传并将授权文件添加到 IIS 中的虚拟共享。
- 验证正常。
- 下载证书
- 回到 IIS,select“完成证书请求”
- 浏览到 select“certificate.crt”文件。
- 给它一个友好的名字等,然后保存。
- 浏览到 IIS 站点下的网站,并 select 绑定。选择服务器的IP,传入的端口,以及新导入的SSL证书。
- 返回 sslforfree,检查安装。
- 万事如意
所以一切都很顺利,可以在浏览器等中看到证书,工作完成。
走到今天,服务器主动拒绝请求。回去查看我的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 后使用此应用程序并将其设置为“最佳实践”,我终于让它工作了,并获得了证书。