在 IIS Express 中设置 HTTPS 后,根据 这个和 这个等文章,我无法使用 HTTPS 实际加载 IIS Express 站点。在 铬合金中,我只能得到:
此网页不可用(错误码为“ ERR _ CONNECTION _ RESET”)
在 IE我只能看到:
Internet Explorer 不能显示该网页
... 当我按照那些文章里的说明去做的时候。
这似乎与 IIS Express 自动安装的“ IIS Express 开发证书”已被删除有关。如何重新安装此证书?
Windows10用户: 修复仅在控制面板中,而不在添加删除程序应用程序中。我通常运行 appwiz.cpl 来启动旧的控制面板 applet 并从那里运行修复程序。
Windows 7和8.1: 在添加/删除程序并选择 IIS Express 上的“修复”选项之后,证书已经重新安装,现在我可以使用 HTTPS 启动 IIS Express 站点。
证书回来了:
我现在可以使用 HTTPS 启动 IIS Express 站点:
有时出现此错误是因为为 localhost 安装了 与众不同证书。如果是这种情况,则不需要恢复 IISExpress 证书。相反,您可以执行以下操作来告诉 IISExpress 使用您现有的证书:
netsh http delete sslcert ipport=0.0.0.0:44300
Netsh http add sslcert ipport = 0.0.0.0:44300 certhash = your _ cert _ hash _ with _ no _ space appid = {123a1111-2222-3333-4444-bbbbccdddee }
上面命令中的 Guid 可以替换为您生成的 Guid。它不对应于任何现有的 IISExpress 值。
如需进一步参考,请参阅 处理 IIS Express 中的 URL 绑定故障。
还要注意,对于使用 SSL 的 IISExpress,所使用的端口需要在44300到44399范围(http://www.iis.net/learn/extensions/using-iis-express/running-iis-express-without-administrative-privileges)之间。
因此,如果您在 VisualStudio 中使用 IISExpress,请确保所选端口在所需的范围内: 与快递的设定
对于 VisualStudio2015、 IISExpress10、 Windows10,这些选项不适合我。IIS Express 10没有修复选项。
我设法用 C:\Program Files (x86)\IIS Express上的 IisExpressAdminCmd.exe命令解决了这个问题。
C:\Program Files (x86)\IIS Express
IisExpressAdminCmd.exe
从提高的命令提示符运行:
cd C:\Program Files (x86)\IIS Express IisExpressAdminCmd.exe setupsslUrl -url:urlToYourSite -UseSelfSigned
用 url 替换 urlToYourSite。
例如:。
cd C:\Program Files (x86)\IIS Express IisExpressAdminCmd.exe setupsslUrl -url:https://localhost:44387/ -UseSelfSigned
之后,我关闭了 IISExpress 并从 VisualStudio 重新启动了我的站点,它提示我自动信任自签名证书。
希望能帮上忙。
对于新的 Chrome58,下面的答案没有任何帮助。我刚刚花了一个小时卸载/重新安装证书,并试图找出问题所在。
显然 Chrome 58会因为“ miss _ subjectAltName”而拒绝证书
解决方案是使用“ badidea”密码短语,或者如果你需要打开弹出窗口进行登录,你必须使用:
chrome://flags/#allow-insecure-localhost
资料来源是: https://stackoverflow.com/a/38926117/2089232:)
我想加上这个,因为这很荒谬,但也许能帮到别人。请记住,我以前从未打开过我的项目属性,所以我不知道这是如何发生的(我自己没有改变这一点,也没有机会) ,但在项目 > 属性 > Web 中,我的 SSL URL 被列为我通常的 URL,但是作为 http 而不是 https (以前是 https,因为它以前是工作的)。我遍历了这个页面上列出的所有步骤,卸载 VS,然后卸载 IIS,最后注意到应该是 https://mySSLURL的错误(但在 https 中缺少 s)。一旦我将 http 更改为 https,一切就都恢复正常了。
您可以重新安装 IISExpress10.0(或任何您需要的版本)来修复丢失的证书
在将我的 VS 2017更新到最新版本并创建了一个新的(。Net) MVC/WebAPI 项目(从模板)。我可以通过调整端口号使其在正确的范围内来解决这个问题
默认端口范围
我在这里找到了: https://www.pluralsight.com/guides/visual-studio-2017-resolving-ssl-tls-connections-problems-with-iis-express
希望这个能帮上忙!