在IIS Express中设置HTTPS后,根据this和this等文章,我无法使用HTTPS实际加载IIS Express网站。在 Chrome 中,我只会:
此网页不可用(错误代码为“ERR_CONNECTION_RESET”)
...并且在 IE 中我只会:
Internet Explorer无法显示网页
......当我按照这些文章中的指示进行操作时。
这似乎与IIS Express自动安装的“IIS Express开发证书”已被删除有关。如何重新安装此证书?
答案 0 :(得分:176)
转到“添加/删除程序”并在IIS Express上选择“修复”选项后,证书已重新安装,我现在可以使用HTTPS启动IIS Express站点。
证书又回来了:
我现在可以使用HTTPS启动IIS Express网站:
答案 1 :(得分:124)
对于Visual Studio 2015,IIS Express 10,Windows 10,这些选项对我来说并不起作用。 IIS Express 10没有修复选项。
我设法使用B
提供的D
命令来解决问题。
从提升的命令提示符运行:
IisExpressAdminCmd.exe
用您的网址替换urlToYourSite。
e.g。
C:\Program Files (x86)\IIS Express
之后我关闭了IIS Express并从Visual Studio重新启动了我的站点,并提示自动信任自签名证书。
希望有所帮助。
答案 2 :(得分:31)
有时,此错误是因为为localhost安装了不同的证书。如果是这种情况,则无需还原IIS Express证书。相反,您可以执行以下操作以告知IIS Express使用您现有的证书:
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可以替换为您生成的Guid。它与任何现有的IIS Express值都不对应。
有关详细信息,请参阅Handling URL Binding Failures in IIS Express。
答案 3 :(得分:28)
另请注意,要使IIS Express使用SSL,所使用的端口必须位于44300到44399范围内(http://www.iis.net/learn/extensions/using-iis-express/running-iis-express-without-administrative-privileges)。
因此,如果您在Visual Studio中使用IIS Express,请确保所选端口位于所需范围内: vs setting for iis express
答案 4 :(得分:11)
使用新的Chrome 58,以下答案中的任何内容都无济于事。我花了1个小时卸载/重新安装证书并试图找出问题所在。
显然Chrome 58会拒绝证书,因为" missing_subjectAltName"
解决方案是" badidea"密码短语或者如果你需要打开弹出窗口进行登录,你必须使用:
铬://标志/#允许不安全-本地主机
来源是,而upvote属于:https://stackoverflow.com/a/38926117/2089232:)
答案 5 :(得分:1)
我想补充一点,因为它很荒谬,但也许会帮助别人。请记住,我之前从未打开过我的项目属性,所以我不知道这是怎么发生的(我自己没有改变或有机会改变),但在项目>属性> Web我的SSL网址被列为我的常用网址,但是作为http而不是https(以前是https,因为之前有效)。我完成了本页列出的所有步骤,卸载了VS,然后是IIS,最后注意到错误应该是https://mySSLURL(但是错过了https中的s)。一旦我将http改为https,一切都恢复了。
答案 6 :(得分:0)
您可以重新安装IIS Express 10.0(或所需的任何版本)以修复丢失的证书。 Download from Microsoft here
答案 7 :(得分:0)
我将VS 2017更新到最新版本并创建了一个新的(.Net)MVC / WebAPI项目(通过模板)后,才遇到此问题。我可以通过将端口号调整到正确的范围内来解决此问题
Chorme Default Port Ranges for DEV SSL
希望这会有所帮助!