【问题标题】:Using ssl with localhost with asp.net mvc 5 on VS2015在 VS2015 上使用 ssl 和 localhost 和 asp.net mvc 5
【发布时间】:2018-03-17 17:44:34
【问题描述】:

我正在尝试使用 SSL 和 IIS Express 在本地测试我的网站。它具有以下属性集:

但是每当我打开https地址时,我都会收到以下错误:

在“Microsoft Edge”中:

在谷歌浏览器中:

我已经阅读了一篇又一篇文章,包括一些关于 SO 的文章,但无济于事。我尝试了以下方法:

任何帮助将不胜感激。

谢谢。

【问题讨论】:

    标签: ssl iis ssl-certificate iis-express


    【解决方案1】:

    自签名证书需要受信任,否则浏览器将不接受它们。您可以轻松地使用 Jexus Manager 进行配置,

    https://www.jexusmanager.com/en/latest/tutorials/self-signed.html#to-trust-self-signed-certificate

    如果您更喜欢手动操作,则可以将证书导入 Windows 中的受信任根证书颁发机构存储区。

    详细了解 SSL、证书、存储等(Google 并彻底了解它们),以便下次在尝试这么多不相关的事情之前真正了解罪魁祸首。

    Jexus Manager 还具有 SSLDiag 功能来识别潜在问题,

    https://www.jexusmanager.com/en/latest/tutorials/ssl-diagnostics.html

    但是你需要足够了解才能正确解释它的输出。

    【讨论】:

    • 我暂时不想在我的开发机器上安装 jexus,虽然它看起来很有趣,但我更喜欢手动方式。 IIS Express 开发证书当前位于受信任的根证书颁发机构。这还不够吗?谢谢
    【解决方案2】:

    我终于按照这篇文章How to trust the IIS Express Self-Signed Certificate 弄明白了,但还有一些额外的步骤:

    1. IIS Express Development 证书导出到本地。此证书可在IIS 10.0Server Certificates 部分找到。

    2. 通过从 File|Run 调用 mmc.exe certmgr.msc 打开 Certificate console

    3. 删除Trusted Root Certification Authorities|Certificates下的所有localhost实例。

    4. 导入新创建的证书。您将收到以下提示:

    1. 导入后,我回到 Asp.Net MVC 5 项目,重新编译并运行它。当我运行它时,我收到以下提示:

    这是我知道自己走在正确轨道上的时候,因为这是我第一次看到这个提示!点击是,现在出现这个提示:

    并在此提示上单击“是”。然后您的项目将启动相关的浏览器。

    转到您的 .net 项目中定义的 https 地址,在我的示例中为 https://localhost:44354/,您现在将看到地址栏中显示的挂锁,表明它是一个安全站点:

    这些答案中的大多数已经在 SO 上提供的不同答案中可用,但缺少或我错过的点是我必须导出我的 IIS Express Development 证书,删除所有 localhost 条目(我已经完成)然后重新导入此证书。完成后,.NET 会检测到更改并相应地提示您。

    无论如何,我希望这对其他人有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-03-24
      • 1970-01-01
      • 1970-01-01
      • 2021-07-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多