问题描述
我是ASP.Net core的新手,我正在尝试在我的计算机(Windows 8.1)上启动一个新的ASP.NET core应用程序。我正在关注https://docs.microsoft.com/en-us/aspnet/core/getting-started/?view=aspnetcore-3.1&tabs=windows上的教程(该教程已基本入门):
- 通过以下方式创建应用程序:dotnet new webapp -o aspnetcoreapp
- 通过以下方式信任证书:dotnet dev-certs https --trust
- 通过以下方式运行应用程序:dotnet watch run
当我运行应用程序并在Chrome中导航到https:// localhost:5001 /时,出现以下错误:
无法访问此网站
位于https:// localhost:5001 /的网页可能暂时关闭,或者已永久移至新的网址。
ERR_HTTP2_INADEQUATE_TRANSPORT_SECURITY
这对我来说是一个证书问题,因此我点击了“信任开发证书”部分下的链接,并尝试通过以下方式删除并重新添加旧证书:
dotnet dev-certs https --clean
dotnet dev-certs https --trust
但这没有帮助。
运行dotnet watch run时,我看不到任何错误。这是输出:
watch : Started
info: Microsoft.Hosting.Lifetime[0]
Now listening on: https://localhost:5001
info: Microsoft.Hosting.Lifetime[0]
Now listening on: http://localhost:5000
info: Microsoft.Hosting.Lifetime[0]
Application started. Press Ctrl+C to shut down.
info: Microsoft.Hosting.Lifetime[0]
Hosting environment: Development
info: Microsoft.Hosting.Lifetime[0]
Content root path: D:\learn_code\aspnetcoreapp2
我昨天下载了.NET的新版本,然后重试,所以我认为这不是版本问题。我正在使用3.1.402。
还有其他方法可以使它运行吗?谢谢。
更新:
这篇Microsoft文章提供了有用的信息,但是它也指出Windows 8和8.1启用了TLS 1.2,并且默认情况下处于启用状态: https://docs.microsoft.com/en-us/dotnet/framework/network-programming/tls#configuring-security-via-the-windows-registry
我也尝试了推荐的注册表设置,但这没有用,我认为这可能是针对.NET Framework的,不一定是.NET Core的(但我对此不是100%的确定)...
此外,HTTP2还有很多其他功能。我找到了这篇文章,这似乎暗示它是与HTTP2结合使用的密码: https://www.tecklyfe.com/how-to-fix-ns_error_net_inadequate_security-and-err_spdy_inadequate_transport_security-in-iis-on-windows-server-2016/
我尝试了Nartac IISCrypto GUI工具(比手动编辑注册表设置容易得多)https://www.nartac.com/Products/IISCrypto/Download,单击“最佳实践”按钮并重新启动,但这没用。
tecklyfe文章中还有另一项建议,即在Firefox中禁用HTTP2,并且确实可行。因此,我认为答案可能在使用正确密码的领域中。
dotnet运行看起来像是在Microsoft.Hosting.Lifetime中启动的,所以也许我可以弄清楚如何配置它?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)