我正在尝试使用 SSL 和 IIS Express 在本地测试我的网站。它设置了以下属性:
-
SSL Enabled
设置为“真” -
SSL URL
设置https://localhost:44354/
但是每当我打开 https 地址时,都会收到以下错误:
在“Microsoft Edge”中:
在 Google Chrome 中:
我读过一篇又一篇的文章,包括一些关于SO的文章,但都无济于事。我尝试过以下方法:
- 我已删除我的
IIS Express Development Certificate
- 我已修复
IIS Express 10
通过Control Panel
- 我已删除
localhost
我手动创建的证书。 - 我已添加
<binding protocol="https" bindingInformation="*:44354:localhost" />
到bindings
部分 applicationhost.config - 我已停止并重新启动
IIS Express
. - 有人建议将端口更改为 443,但我的
SSL URL
在.NET IDE
中为只读. - 我读过的一些文章:
任何帮助将不胜感激。
谢谢。
最佳答案
按照这篇文章我终于弄清楚了How to trust the IIS Express Self-Signed Certificate但还有一些额外的步骤:
将
IIS Express Development
证书导出到本地。该证书可以在IIS 10.0
的服务器证书
部分找到。通过从文件|运行中调用
mmc.exe certmgr.msc
打开证书控制台
。删除
受信任的根证书颁发机构|证书
下 localhost 的所有实例。导入新创建的证书。您将收到以下提示:
- 导入后,我返回 Asp.Net MVC 5 项目,重新编译并运行它。当我运行它时,系统提示我以下内容:
这时我知道我走在正确的轨道上,因为这是我第一次看到这个提示!单击"is",现在出现此提示:
并在此提示上单击"is"。然后您的项目将启动相关的浏览器。
转到 .net 项目中定义的 https 地址,在我的实例中为 https://localhost:44354/
,您现在将看到地址栏中显示的挂锁,表明这是一个安全的网站:
这些答案中的大多数已经在 SO 上提供的不同答案中提供,但缺少或我错过的点是我必须导出我的 IIS Express Development 证书,删除所有本地主机条目(我已经完成了),然后重新导入该证书。完成后,.NET 会检测到更改并相应地提示您。
无论如何,我希望这对其他人有帮助。
关于ssl - 在 VS2015 上使用 ssl 与 localhost 和 asp.net mvc 5,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46596915/