页面未完全加载文件并显示 net::ERR_HTTP2_PROTOCOL_ERROR

Posted

技术标签:

【中文标题】页面未完全加载文件并显示 net::ERR_HTTP2_PROTOCOL_ERROR【英文标题】:Page is not loading a file fully and net::ERR_HTTP2_PROTOCOL_ERROR is shown 【发布时间】:2021-11-13 20:24:38 【问题描述】:

我们的页面包含一些较大的 javascript 文件。当我们点击页面时,所有的小文件都会被下载。但是,其中一个大文件没有完全下载,并且大部分时间都以 net::ERR_HTTP2_PROTOCOL_ERROR 失败。我们需要仅使用 *** 连接打开页面,因为它不会对所有人开放。

补充一点,nginx 入口控制器与该入口的以下设置一起使用:

    nginx.ingress.kubernetes.io/configuration-snippet: |
      gzip on;
      gzip_types text/plain text/css image/png application/javascript;
      if ($request_uri ~* \.(js|css|gif|jpeg|png)) 
        expires 1M;
        add_header Cache-Control "public";
      
    nginx.ingress.kubernetes.io/http2-push-preload: "false"
    nginx.ingress.kubernetes.io/proxy-body-size: 500M
    nginx.ingress.kubernetes.io/proxy-bufferings: "off"
    nginx.ingress.kubernetes.io/proxy-connect-timeout: "36000"
    nginx.ingress.kubernetes.io/proxy-max-temp-file-size: "0"
    nginx.ingress.kubernetes.io/proxy-read-timeout: "36000"
    nginx.ingress.kubernetes.io/proxy-send-timeout: "36000"
    nginx.ingress.kubernetes.io/rewrite-target: /
    nginx.ingress.kubernetes.io/secure-backends: "true"
    nginx.ingress.kubernetes.io/ssl-redirect: "true"

我们可以在 Nginx 入口中设置另一个注释,否则这可能是 *** 的问题?我想知道我们如何解决这个问题。

【问题讨论】:

首先我会检查这是否与 *** 无关(在同一网络中找到一台机器,看看是否发生相同的错误)。如果不可能,那就是猜谜游戏。你可以在another SO answer看到一些选项 你好@DevOps。有更新吗? @WytrzymałyWiktor 我解决了这个问题并标记了答案。 【参考方案1】:

我通过更改 Nginx Ingress 的配置解决了这个问题:

data:
  client-max-body-size: 50M
  keep-alive: "3600"
  proxy-buffer-size: 500m
  proxy-buffers-number: "8" 

很高兴这对任何人来说都可以节省时间。

【讨论】:

以上是关于页面未完全加载文件并显示 net::ERR_HTTP2_PROTOCOL_ERROR的主要内容,如果未能解决你的问题,请参考以下文章

jquery,在页面未完全加载时加载页面

当页面数据未从 Firebase 完全加载时显示加载指示器/微调器 - Flutter

jQuery Mobile:初次访问时页面未完全加载

当页面在 Angular 10 中完全加载时调用组件函数

页面加载但未显示从数据库请求的内容

字体文件在控制台上显示为未找到,并且在页面加载时未立即呈现