微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

由于 SSL 错误,IIS 无法连接到独立的 HTTPS Kestrel

如何解决由于 SSL 错误,IIS 无法连接到独立的 HTTPS Kestrel

我的 IIS 应用程序无法连接到我的独立 ASP.net Core 应用程序,因为我的 IIS 无法验证 ASP.net Core 的 SSL 证书。我对证书有非常基本的了解,但似乎应用程序池无权访问 ASP.net Core 使用的开发证书,该证书仅存储在当前用户中。这是问题的原因吗?如果是,我如何向证书持有者授予应用程序池访问权限?有没有其他方法可以解决这个问题?

证书由 dotnet dev-cert 工具生成

解决方法

如果你是IIS 7以上,可以试试这个方法。

1.确保您的证书有私钥。

2.将证书导入“本地计算机”帐户。最好使用证书 MMC。确保选中“允许导出私钥”

3.基于此,IIS 7.5 应用程序池的身份使用以下之一。

  • 打开 MMC => 添加证书(本地计算机)管理单元 => 证书 (本地计算机)=> 个人 => 证书 => 右键单击 感兴趣的证书 => 所有任务 => 管理私钥 => 添加 IIS AppPool\AppPoolName 并授予它完全控制权。替换“应用程序池名称” 使用您的应用程序池的名称(有时是 IIS_IUSRS)

  • IIS 7.5 网站在 NETWORK SERVICE 下运行。使用 证书 MMC,将“网络服务”添加到完全信任 “本地计算机\个人”中的证书。

  • IIS 7.5 网站在“MyIISUser”本地计算机用户下运行 帐户。使用证书 MMC,添加了“MyIISUser”(一个新的本地 计算机用户帐户)以完全信任“本地”中的证书 计算机\个人”。

请注意,如果您在域中,默认情况下将在“来自位置框”中选择您的域。确保将其更改为“本地计算机”。将位置更改为“本地计算机”以查看应用程序池标识。

这里是参考:How to give ASP.NET access to a private key in a certificate in the certificate store?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。