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

我们的页面包含一些较大的 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 的问题?我想知道我们如何解决这个问题。

【问题讨论】:

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

标签: kubernetes vpn http2 nginx-ingress


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-07-16
    • 2021-10-24
    • 2014-03-25
    • 2014-01-17
    • 2016-06-10
    • 2015-05-13
    • 1970-01-01
    相关资源
    最近更新 更多