【问题标题】:ReactJS: net::ERR_HTTP2_PROTOCOL_ERROR 200 with .NetCore in HTTPSReactJS:net::ERR_HTTP2_PROTOCOL_ERROR 200 与 HTTPS 中的 .NetCore
【发布时间】:2021-08-17 04:44:45
【问题描述】:

我使用ReactJS开发我的应用,之前还可以,突然出现这个错误:

GET https://localhost:44368/static/js/0.chunk.js net::ERR_HTTP2_PROTOCOL_ERROR 200

我不知道这里发生了什么,以前很好。我该如何解决这个问题?

【问题讨论】:

  • 我遇到了这个问题,但我没有做任何更改,也没有再遇到这个问题。也许最近的 Windows 更新或 VS 更新有所帮助?

标签: javascript reactjs google-chrome asp.net-core .net-core


【解决方案1】:

我正在使用 Visual Studio 2019 并遇到了同样的问题。这就是我为解决它所做的:

从项目的 Dependencies/Packages 中删除了“Microsoft.AspNetCore.SpaServices.Extentions”Nuget 包,然后安装了最新版本(已安装 5.0.6)

清理并重建了解决方案,它又开始工作了。

让我知道它是否适合你!

【讨论】:

  • 您先生,救了我的命。我必须将 .net 版本升级到 5.0,然后将 spa 服务扩展升级到 5.0.6。现在可以使用了。
  • 很好,我很高兴它成功了。我还必须升级到 .Net Core 5。我真的很想知道为什么一开始就将默认项目框架设置为较旧的 .Net Core 版本。
  • 我只是想知道您是如何调试此类问题的。你怎么知道这个包引起了问题
  • 我希望我能在一个多月前解决这个问题时记住您问题的完整答案。我记得 Visual Studio 终端中的一些消息提示我 Nuget 包中可能存在问题。不过我花了一整天的时间才找到它!
【解决方案2】:

没有足够的代表发表评论,但想写一个说明,说与 JTM 有完全相同的经历,并认为 Win10 更新似乎是可能的嫌疑人。昨晚运行良好且没有任何更改的 .Net Core 项目在更新后停止运行。

【讨论】:

  • 我也遇到过这种情况。昨晚一切正常,但今天完全不行。如果我发布应用程序并在 IIS 上部署它可以工作,但它不会在 Visual Studio 的调试中工作。我已经失去了一整天的开发时间来试图解决这个问题,但仍然没有运气!
  • 另外,我使用的是 .NET 5.0。
  • 我现在已经设法让它运行,方法是转到服务器项目属性页面 > 调试,然后取消选中“启用 SSL”。我会尝试在 VS/Windows 更新后重新打开它,看看是否解决了根本问题。
  • 实际上我会说最好的解决方案是卸载 KB5003637 和 KB5003254,因为一旦我这样做了,我就可以像以前一样继续工作。这些补丁中似乎存在一些破坏 IIS express ssl 功能的错误。
  • 卸载 KB5003637 为我解决了这个问题。我们正在使用 .NET Core 3.1 w/ SPA 扩展,用于 hmr 等。
【解决方案3】:

此解决方案不适用于 dotnet 核心。我已尝试将 SpaServices.Extensions 更新到最新版本 3.1.16。

临时解决方案是在 Web 服务器设置下禁用 SSL。

【讨论】:

  • 我尝试将“Microsoft.AspNetCore.SpaServices”和“Microsoft.AspNetCore.SpaServices.Extensions”等一些依赖项更新到 3.1.16,但没有帮助。
【解决方案4】:

感谢@Alan Barber 的回答。我一直在寻找解决方案,但没有将 .NET Core 版本 (3.1) 升级到 5。

卸载窗口更新补丁(KB5003637)后我的项目恢复正常。

【讨论】:

    【解决方案5】:

    我能够通过卸载最近的 Windows 补丁 KB5003637 来解决这个问题。 https://www.windowslatest.com/2021/06/11/windows-10-kb5003637-update-could-break-your-taskbar

    【讨论】:

      【解决方案6】:

      删除以下更新

      Microsoft Windows 安全更新 (KB5003637)

      删除后,它会要求您重新启动计算机。然后它将安装一个较旧的安全更新:可能是KB5003173,这不会导致任何问题。

      【讨论】:

        【解决方案7】:

        这发生在我更新 Windows 之后,并且由于公司政策的原因,无法回滚。我在这个开发者社区链接https://developercommunity.visualstudio.com/t/Failed-to-load-resource:-net::ERR_HTTP2_/1446262(特别是 Kevin Pilch 的那个)中找到了一个解决方案。

        我添加了注册表项(其中 2 个用于关闭 HTTP2)并且它起作用了。 如果注册表编辑不起作用,另一种选择是安装 Fiddler 并使其保持运行。 Fiddler 将强制使用 HTTP/1.1 而不是 HTTP/2

        他帖子中的相关部分

        启动 Windows 注册表编辑器。

        1. 导航到注册表项 2.HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\HTTP\Parameters。
        2. 向此添加 2 个新的 REG_DWORD 值,EnableHttp2Tls 和 EnableHttp2Cleartext 注册表项。
        3. 将这两个值都设置为 0。
        4. 重启服务器。

        【讨论】:

          猜你喜欢
          • 2020-07-13
          • 1970-01-01
          • 2020-07-02
          • 2021-05-07
          • 2021-09-16
          • 1970-01-01
          • 2021-12-23
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多