Chrome ERR_HTTP2_PROTOCOL_ERROR + Firefox 安全连接失败

问题描述 投票:0回答:2

我正在托管一个服务全球区域的网站,最近出现了一个奇怪的问题。

已经检查了互联网上的其他帖子,包括 stackoverflow 中的帖子,其中有很多讨论:Chrome net::ERR_HTTP2_PROTOCOL_ERROR 200 after a reconnect,但没有一个答案有帮助。

网站是在 ASP.NET webform 遗留“网站”(不是 Web 应用程序)上构建的。 有一个重要的功能,一旦用户单击网站上的按钮,就会执行多个过程。 假设该函数中有 100 行代码,并且我添加了一些标志来记录已命中并处理了哪些步骤。

奇怪的情况是:

  1. 只有中国用户面临这个问题。 (网站不在中国托管)

  2. 部分用户使用firefox,返回如下,英文为“Secure Connection Failed” 但检查了几篇文章,包括 Firefox 文档,屏幕上应该有错误代码,例如 ssl_error_no_cypher_overlap 但什么也没有。 Firefox error

  3. 一些用户正在使用其他基于Chrome的浏览器,它返回: Chrome error

另外,我检查了这些用户反馈中的进程日志,大多数都没有完成所有代码,也就是说,如果有100行代码,其中有一些只是停在第50行。

网站启用了 TLS 1.2,当我通过 Chrome 网络选项卡检查时,还应用了 http2 协议 (h2)。

我想知道如果客户端浏览器由于某种原因关闭连接,它会以我看到的结果结束(在整个代码流的中间停止),从我看来,如果请求被发布到服务器然后无论客户做什么,该过程都应该完成整个流程。

任何想法或想法将不胜感激!

asp.net google-chrome ssl firefox http2
2个回答
0
投票

我刚刚正在处理这种情况。

根据我在有关 HTTP2_PROTOCOL_ERROR 的各种帖子中读到的内容,我认为发生的情况是响应已启动,但代码问题阻止服务器完成响应。不完整的响应会在 Chrome 中给出协议错误,并且由于它是通过 TLS 进行的,因此 Firefox 将其视为安全错误。 (我会分享链接,但我已经关闭了所有这些窗口 - 抱歉。)

不知何故,我的代码阻止服务器完成响应而不引起异常。

我能够通过注释掉页面上每个代码隐藏过程的主体,然后一次将它们带回来来追踪有问题的代码。

祝你好运!


-1
投票

我无法给你一个具体的例子,但就我而言,应用程序方面没有问题。

您最近是否为您的内部基础设施工程师添加了设置?

例如,您是否添加了

WAF
设置?您可能想检查一下。

仅供参考

© www.soinside.com 2019 - 2024. All rights reserved.