【问题标题】:Chrome ERR_HTTP2_PROTOCOL_ERROR + Firefox Secure Connection FailedChrome ERR_HTTP2_PROTOCOL_ERROR + Firefox 安全连接失败
【发布时间】:2021-04-24 09:53:14
【问题描述】:

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

已经检查过互联网上的其他帖子,包括 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


    【解决方案1】:

    我只是在处理那个确切的情况。

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

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

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

    祝你好运!

    【讨论】:

      【解决方案2】:

      我不能给你一个具体的例子,但在我的例子中,应用程序端没有问题。

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

      例如,您是否添加了WAF 设置?你可能想检查一下。

      仅供参考

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-09-07
        • 1970-01-01
        • 2017-12-17
        • 2020-07-13
        • 2018-11-06
        • 2021-08-03
        • 2021-04-26
        • 1970-01-01
        相关资源
        最近更新 更多