模板运行时新的ASP.NET核心应用程序运行时显示“无法访问此网站”

问题描述

我是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上的教程(该教程已基本入门):

  1. 通过以下方式创建应用程序:dotnet new webapp -o aspnetcoreapp
  2. 通过以下方式信任证书:dotnet dev-certs https --trust
  3. 通过以下方式运行应用程序: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 (将#修改为@)