gpt4 book ai didi

wordpress - 页面加载时出现不一致的 ERR_HTTP2_SERVER_REFUSED_STREAM 错误

转载 作者:行者123 更新时间:2023-12-04 13:28:40 42 4
gpt4 key购买 nike

我确实至少有两个 wordpress 网站,它们非常不一致地抛出不同数量的 net::ERR_HTTP2_SERVER_REFUSED_STREAM错误。当这些错误发生时,抛出的错误数量从页面加载到页面加载(或重新加载)从说 4 个带有该错误的请求到大约 60 个,有时甚至更多(如果页面有很多请求)。实际受影响的资源/请求似乎完全随机,因此不会留下任何线索。
如果发生这些错误,它们的发生通常会持续(在进行简单的页面刷新或硬刷新时),直到浏览器重新启动。他们甚至很少在重启后留下来。
当这个问题确实发生并且浏览器/系统进入这个错误状态时,这些错误也会发生在 wordpress 后端加载基本文件,如 .../wp-includes/js/wp-lists.min.js?ver=5.7和类似的。
至少有两个用户在 Chrome、Opera 和 Edge 中在登录和退出 wordpress 时遇到过这种行为。在 Opera 和 Edge 中,我们没有安装任何浏览器扩展。据我们所知,其他用户从未遇到过这个问题,即使他们中的一些人多次访问过该网站。
这可能是什么原因和/或可能是解决它的方法?

两个站点上安装的插件列表:

  • Image Map Pro
  • Kadence Blocks - PRO Extension
  • Kadence 块 – 用于页面生成器功能的古腾堡块
  • Kadence Galleries
  • Kadence Pro
  • Lessify Wordpress
  • Password Protect WordPress Lite
  • Presto Player
  • Presto Player Pro
  • Slider Revolution
  • WP Google Maps
  • WP Google Maps - Pro Add-on
  • WPvivid Backup Plugin
  • WPvivid Backup Pro
  • 最佳答案

    这与 WordPress 无关。它与使用 HTTP/2 standard 的 Apache 或 Nginx 相关。 .

    REFUSED_STREAM (0x7): The endpoint refused the stream prior toperforming any application processing (see Section 8.1.4 fordetails).


    它可能来自太多并发流:

    Endpoints MUST NOT exceed the limit set by their peer. An endpoint that receives a HEADERS frame that causes its advertised concurrent stream limit to be exceeded MUST treat this as a stream error (Section 5.4.2) of type PROTOCOL_ERROR or REFUSED_STREAM. The choice of error code determines whether the endpoint wishes to enable automatic retry (see Section 8.1.4) for details).


    它也可以在推送响应操作期间发送:

    If the client determines, for any reason, that it does not wish to receive the pushed response from the server or if the server takes too long to begin sending the promised response, the client can send a RST_STREAM frame, using either the CANCEL or REFUSED_STREAM code and referencing the pushed stream's identifier.


    或者,如果客户端尝试使用 HTTP/1.1 进行连接:

    Servers that don’t wish to process the HTTP/1.1 response should reject stream 1 with a REFUSED_STREAM error code immediately after sending the connection preface to encourage the client to retry the request over the upgraded HTTP/2 connection.


    我无法确定在这些请求期间发生了什么,因为它可能有多种原因,如上所述。
    所以我建议你几个选择:
  • 通过 Cloudflare 传递您网站的流量,因此它们充当这些连接的中间人,并规范发送到您服务器的请求
  • 您可以增加SETTINGS_MAX_CONCURRENT_STREAMS将发送 REFUSED_STREAM 的风险降到最低.如果你使用 Nginx,你可以在这里看到如何做到这一点:http://nginx.org/en/docs/http/ngx_http_v2_module.html#http2_max_concurrent_streams
  • 如果您不知道如何执行上述操作,请联系您的托管公司并要求他们为您完成并升级您的 Nginx 版本,因为已知某些旧版本存在问题。
  • 在 Nginx 中禁用 HTTP/2。 How to disable http2 in nginx
  • 作为最后的资源,您可以迁移到另一家托管公司。

  • 如果你使用 Apache,我上面所说的一切也适用于它。

    关于wordpress - 页面加载时出现不一致的 ERR_HTTP2_SERVER_REFUSED_STREAM 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66572034/

    42 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com