我尝试使用SSL与IIS Express在本地测试我的网站。它具有以下属性集:
SSL Enabled
设置为' true' SSL URL
设置为https://localhost:44354/ 但每当我打开https地址时,都会收到以下错误:
在" Microsoft Edge":
在谷歌浏览器中:
我在文章之后阅读过文章,其中包括一些关于SO的文章,但无济于事。我尝试过以下方法:
IIS Express Development Certificate
IIS Express 10
Control Panel
localhost
证书。<binding protocol="https" bindingInformation="*:44354:localhost" />
添加到了bindings
部分applicationhost.config IIS Express
。SSL URL
在.NET IDE
中是只读的。非常感谢任何帮助。
感谢。
答案 0 :(得分:1)
我最后通过关注这篇文章How to trust the IIS Express Self-Signed Certificate来解决这个问题,但还有一些额外的步骤:
将IIS Express Development
证书导出到本地。可以在Server Certificates
。{/ p>
IIS 10.0
部分找到此证书
通过从文件|运行中调用Certificate console
打开mmc.exe certmgr.msc
。
删除Trusted Root Certification Authorities|Certificates
下的所有localhost实例。
导入新创建的证书。您将收到以下提示:
这是我知道自己走在正确的轨道上,因为这是我第一次见到这个提示!单击是,现在出现此提示:
并在此提示上单击“是”。然后,您的项目将启动相关的浏览器。
转到您的.net项目中定义的https地址,在我的实例https://localhost:44354/
中,您现在会看到地址栏中显示的挂锁,表明它是一个安全的网站:
这些答案中的大多数已在SO提供的不同答案中提供,但缺少或遗漏的点是我必须导出我的IIS Express Development
证书,删除所有localhost条目(我已经完成)然后重新导入此证书。完成后,.NET会检测到更改并相应地提示您。
无论如何,我希望这会对别人有所帮助。
答案 1 :(得分:0)
自签名证书需要信任,否则浏览器不会接受它们。您可以轻松使用Jexus Manager进行配置,
https://www.jexusmanager.com/en/latest/tutorials/self-signed.html#to-trust-self-signed-certificate
如果您喜欢手动,则可以将证书导入Windows中的“受信任的根证书颁发机构”存储。
了解有关SSL,证书,商店等的更多信息(Google中的每一项并彻底了解它们),以便下次您在尝试这么多无关紧要的事情之前真正了解罪魁祸首是什么。
Jexus Manager还有一个SSLDiag功能来识别潜在问题,
https://www.jexusmanager.com/en/latest/tutorials/ssl-diagnostics.html
但是你需要足够了解才能正确解释它的输出。