首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >错误(失败)net::ERR_HTTP2_PROTOCOL_ERROR仅在Chrome中随机出现

错误(失败)net::ERR_HTTP2_PROTOCOL_ERROR仅在Chrome中随机出现
EN

Stack Overflow用户
提问于 2021-06-07 15:56:41
回答 2查看 242关注 0票数 0

我在jetty上的服务器为API服务。一些请求返回200,但对同一端点的其他请求使用不同的参数返回:

(failed)net::ERR_HTTP2_PROTOCOL_ERROR

它只出现在Chrome中。在FF中,它工作得很好。

你知道可能是什么原因以及如何修复它吗?

EN

回答 2

Stack Overflow用户

发布于 2021-06-07 16:55:53

您应该查看Jetty服务器调试日志以获取更多信息,或者在此处报告它们以供分析。

出现这些错误的一个原因可能是Jetty使用参数jetty.http2.rateControl.maxEventsPerSecond来防御these vulnerabilities,该参数的默认值为20。

不同的浏览器会向服务器发送不同的帧,特别是Chrome会向服务器发送大量的PRIORITY帧,对于资源较多的页面,可能会触发maxEventsPerSecond=20阈值。

您可能希望将此参数配置为更高的值,例如50,并查看错误是否仍然发生。

如果您使用的是Jetty embedded,则需要使用类似如下的代码:

代码语言:javascript
运行
复制
HTTP2ServerConnectionFactory http2 = ...;
http2.setRateControlFactory(endPoint -> new WindowRateControl.Factory(50));
票数 0
EN

Stack Overflow用户

发布于 2021-06-15 01:02:06

当我遇到这个错误时,我还以为它只在Chrome中出现--当我试了几次FF时,它似乎还能工作。但是更多的几次揭示了FF和Chrome一样的随机性。

有一些关于here的讨论。

你可能想检查一下你的Windows Update是否没有拉出KB5003637,这可能会导致这个问题。我的队友确实卸载了那个补丁,并为他修复了这个补丁。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67867901

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档