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

Page is not loading a file fully and net::ERR_HTTP2_PROTOCOL_ERROR is shown

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

补充一下,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 入口中设置另一个注释,或者这可能是 VPN 的问题?我想知道我们如何解决这个问题。

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

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

很高兴这能为任何人节省时间。