如何修复缺less的IIS Express SSL证书?
在IIS Express中设置HTTPS之后,根据这样和那样的文章,我实际上无法使用HTTPS加载IIS Express站点。 我只在Chrome浏览器中遇到“此网页不可用”(错误代码为“ERR_CONNECTION_RESET”),或者按照这些文章中的说明操作,IE中的“Internet Explorer无法显示网页”。
看起来这与IIS Express自动安装的“IIS Express开发证书”已被删除的事实有关。 我如何获得这个证书重新安装?
进入“添加/删除程序”并在IIS Express上select“修复”选项后,证书已重新安装,现在可以使用HTTPS启动IIS Express站点。
证书回来了:
我现在可以使用HTTPS启动IIS Express站点:
对于Visual Studio 2015,IIS Express 10,Windows 10,这些选项并不适合我。 IIS Express 10没有修复选项。
我设法解决问题使用IisExpressAdminCmd.exe
命令可在C:\Program Files (x86)\IIS Express
。
从提升的命令提示符运行:
cd C:\Program Files (x86)\IIS Express IisExpressAdminCmd.exe setupsslUrl -url:urlToYourSite -UseSelfSigned
用您的urlreplaceurlToYourSite。
例如
cd C:\Program Files (x86)\IIS Express IisExpressAdminCmd.exe setupsslUrl -url:https://localhost:44387/ -UseSelfSigned
之后,我closuresIIS Express,并从Visual Studio重新启动我的网站,并提示自动信任自签名证书。
希望有所帮助。
有时候这个错误是因为为本地主机安装了不同的证书。 如果是这种情况,则不需要还原IIS Express证书。 相反,您可以执行以下操作来告诉IIS Express使用您现有的证书:
- 按照此处所述打开证书MMCpipe理单元
- find您的本地主机证书,例如在个人…certificate并获得指纹:
- 调出本地主机证书的属性对话框,并find指纹属性
- 将指纹值粘贴到记事本(或其他),并删除开头的空格和任何特殊字符
- find您的IIS Express项目的端口值:
- 转到Visual Studio中的项目属性,find“SSL URL”值,例如“ https:// localhost:44300 / MyApp ”。
- 在这个例子中,44300是端口号。 如果你的不同,在后面的命令中更改该值。
- 在pipe理命令提示符(不是Powershell)中使用以下命令:
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_spaces appid= {123a1111-2222-3333-4444-bbbbcccdddee}
上述命令中的Guid可以replace为您生成的Guid。 它不符合任何现有的IIS Express值。
有关更多参考,请参阅处理IIS Express中的URL绑定失败 。
另外请注意,对于IIS Express来使用SSL,使用的端口需要在44300到44399范围内( http://www.iis.net/learn/extensions/using-iis-express/running-iis-express-没有pipe理权限; )。
因此,如果您在Visual Studio中使用IIS Express,请确保所选端口位于所需范围内: vs设置为iis express
随着新的Chrome 58,下面的答案没有任何帮助。 我刚花了1个小时卸载/重新安装证书,并试图找出问题所在。
显然Chrome 58会拒绝证书,因为“missing_subjectAltName”
解决scheme是“badidea”口令,或者如果您需要打开popuplogin,您必须使用:
铬://标志/#允许不安全,本地主机
来源是和upvote属于: https ://stackoverflow.com/a/38926117/2089232 🙂