IIS 在计算机重启后丢失 HTTPS Endpointn 证书

问题描述 投票:0回答:2

我知道我不是在计算机重启后丢失证书关联的人。 特别是:

  • 在 IIS 中打开“站点绑定”对话框
  • 找到我的 HTTPS 绑定
  • 按“编辑...”
  • 从“SSL证书”我选择我的证书
  • 按申请

一切正常,但直到计算机重新启动。 重新启动后,当我打开我看到的绑定属性时(未选中)

之后我发现了什么

netsh http show sslcert 

我看不到我用于 HTTPS 绑定的端口

当我在 netsh http 添加 sslcert ipport=0.0.0.0:port certhash=appid={ID}

一切正常

作为一个快速但肮脏的解决方案,我创建了一个包含以下内容的 bat 文件:

netsh http del sslcert ipport=0.0.0.0:port
netsh http add sslcert ipport=0.0.0.0:port certhash=<Hash> appid={ID}

并在 Windows Scheduler 中计划启动 bat 文件(在 1 分钟后启动) 工作了一段时间,但现在已经停止了。

有什么问题怎么解决?

iis ssl binding endpoint
2个回答
1
投票

我刚刚遇到了类似的问题,每当我重新启动机器时,我的自托管 OWIN 应用程序的 SSL 绑定就会丢失。

我看到这篇文章:Adding SSL Certificate via "netsh.exe" does not last after a machine restart,其中提到:

我认为将自签名证书从个人目录移动到受信任的根 CA 目录会导致开发人员重启机器后 SSL 停止工作的问题。 (不知道它是如何发生的,但它确实一直在发生。)我最终通过将自签名证书导出并将其重新导入到受信任的根目录中(而不是简单地将其拖过)来解决这个问题。现在考虑了我的自签名证书,我不需要每次重新启动机器时都重新安装/修复 IIS Express。

我的情况有点不同,但是当我导入本地主机 SSL 证书时,我还使用拖放将其从“当前用户”的个人证书复制到“本地计算机”的个人证书。 所以我删除了我的证书并在不使用拖放的情况下重新导入,这似乎已经解决了 - 我现在可以重新启动我的机器而不会丢失我的 SSL 端口绑定!

希望这对您也有用(如果您仍然遇到问题)。


0
投票

我的 Windows Admin Center 服务器重新启动后遇到了类似的问题,我相信这是相关的。经过许多 many 小时的渐进研究和故障排除,我最终只是简单地使用 MMC 的 certlm.msc 将证书导入受信任的根证书颁发机构,然后 copying 证书从受信任的根证书颁发机构到个人。

这只在以下条件下对我有用

  • 证书可导出
  • 证书是为 Local Machine 导入的,而不是 Current User,因为这是针对 Windows Workgroup 环境的。
  • 证书有一个受密码保护的私钥(也是因为本地机器/工作组设置)

编辑:@jglouie 在这篇文章中的最佳答案陈述了非常相似的内容。 https://stackoverflow.com/posts/75859585/edit

© www.soinside.com 2019 - 2024. All rights reserved.