在VS2015上使用ssl和本地主机一起使用asp.net mvc 5
我想用IIS Express在本地使用SSL测试我的网站。它具有以下属性设置:在VS2015上使用ssl和本地主机一起使用asp.net mvc 5
-
SSL Enabled
设置为 '真' -
SSL URL
设置https://localhost:44354/
但每当我打开https的地址,我得到以下错误:
在“Microsoft Edge”中:
在谷歌浏览器:
我的文章后读文章,包括一些对SO,但无济于事。我已经试过如下:
- 我已经删除了我的
IIS Express Development Certificate
- 我已经通过
Control Panel
- 修复
IIS Express 10
我已经删除了我手动创建localhost
证书。 - 我已经添加
<binding protocol="https" bindingInformation="*:44354:localhost" />
到bindings
部分对ApplicationHost.config - 我已经停止和重新启动
IIS Express
。 - 有人建议将端口更改为443,但我的
SSL URL
在.NET IDE
中为只读。 - 我读过一些文章:
任何帮助将不胜感激。
谢谢。
自签名证书需要信任或浏览器不会接受它们。您可以轻松地使用Jexus管理器来配置,
https://www.jexusmanager.com/en/latest/tutorials/self-signed.html#to-trust-self-signed-certificate
,如果你喜欢手动时,您可以将证书导入到受信任的根证书颁发机构存储区在Windows中。
了解更多关于SSL,证书,商店等(谷歌每一个,并彻底学习),以便下一次你真正明白什么是罪魁祸首之前尝试这么多不相关的东西。
Jexus经理也有一个SSLDiag功能,以识别潜在问题,
https://www.jexusmanager.com/en/latest/tutorials/ssl-diagnostics.html
但你需要知道足够以便正确地解释它的输出。
我终于想通了这个文章How to trust the IIS Express Self-Signed Certificate但一些额外的步骤如下:
出口
IIS Express Development
证书从本地。此证书位于IIS 10.0
的Server Certificates
部分。通过从File | Run调用
mmc.exe certmgr.msc
来打开Certificate console
。删除
Trusted Root Certification Authorities|Certificates
下的所有localhost实例。导入新创建的证书。您将获得以下提示:
- 导入后,我又回到了Asp.Net MVC 5项目,重新编译,并运行它。当我跑了,我得到了以下提示:
这是当我知道我是在正确的轨道上,因为这是我所见过这种提示的第一次!单击是,现在出现这样的提示:
,然后单击是在此提示为好。您的项目将启动相关浏览器。
转到你的.NET项目定义,在我的情况下,https://localhost:44354/
https的地址,你会看到现在的地址栏中显示的挂锁以表明它是一个安全的网站:
这些答案中的大部分都可以在SO上提供的不同答案中提供,但是遗漏或遗漏的点是我必须导出我的IIS Express Development
证书,删除所有本地主机条目(我已经完成),然后重新导入这个证书。完成后,.NET检测到更改并相应地收到提示。
无论如何,我希望这会帮助别人。
我不想在我的开发机器上暂时安装jexus,虽然它看起来很有趣,但我宁愿用手动的方式去做。 IIS Express开发证书当前位于受信任的根证书颁发机构。这还不够吗?谢谢 – Thierry