Powershell 在Windows Server 2012 R2上安装LetsEncrypt证书时没有错误,但HTTPS仍然不是';t装载。。。?

Powershell 在Windows Server 2012 R2上安装LetsEncrypt证书时没有错误,但HTTPS仍然不是';t装载。。。?,powershell,iis,ssl,certificate,Powershell,Iis,Ssl,Certificate,我一直在尝试获取免费的LetsEncrypt SSL证书,以便在Windows Server 2012 R2上与IIS一起使用 我阅读了ACMESharp github教程(https://github.com/ebekker/ACMESHarp/wiki/Example-Usage和https://www.youtube.com/watch?v=SVUY7ygbGm8)并在Powershell上让一切正常运行,没有错误。。。有一个Powershell错误,在此之前,我只需在IIS中导出并重新导

我一直在尝试获取免费的LetsEncrypt SSL证书,以便在Windows Server 2012 R2上与IIS一起使用

我阅读了ACMESharp github教程(
https://github.com/ebekker/ACMESHarp/wiki/Example-Usage
https://www.youtube.com/watch?v=SVUY7ygbGm8
)并在Powershell上让一切正常运行,没有错误。。。有一个Powershell错误,在此之前,我只需在IIS中导出并重新导入证书即可解决

然而,尽管现在Powershell上没有错误(除了一些警告(这里划掉了散列和我的用户名)),加载我的站点的HTTPS版本实际上仍然不起作用。如果您尝试,连接就会超时

如果你对可能出现的问题有任何想法,请告诉我。当我查看IIS中的服务器证书时,它看起来不错:颁发给(我的域),由Let's Encrypt Authority X1颁发,2016年5月到期,证书哈希(修订),证书存储(个人)


我在注册LetsEncrypt时使用的URL是:
https://acme-v01.api.letsencrypt.org/

有时,当我遇到这样的问题时,这是因为运行站点所在的应用程序池的服务帐户无权读取证书的私钥。这可能是一个值得研究的问题。

听起来很有希望,但你介意告诉我如何检查吗?我在IIS管理器中看到了“应用程序池”,但我不确定要去哪里处理私钥。私钥存储在文件系统中。使用PowerShell中的cert:\provider可以获得确切的容器名称,但我通常可以查看文件系统位置C:\ProgramData\Microsoft\Crypto\RSA\MachineKeys\并查看导入证书时创建的文件。然后,您可以简单地在NTFS中设置文件权限。检查IIS中的应用程序池以查看它运行时使用的标识。这是假设您已经为站点设置了HTTPS绑定,它位于端口443上,如果您创建了HTTP绑定,则不会出现问题,等等