【问题标题】:Large files download issue with EKS + NGINX + JETTYEKS + NGINX + JETTY 的大文件下载问题
【发布时间】:2021-07-14 09:13:00
【问题描述】:

我在下载 3GB 的大文件时遇到问题。这是我在 Kubernetes (AWS EKS) 上设置的 JETTY 9.4 + NGINX(来自https://kubernetes.github.io/ingress-nginx/ 的舵图)。它适用于较小的文件。对于如此大的文件,我在客户端收到“失败 - 网络错误”。在码头方面,我通过对等异常重置连接。在 NGINX 方面没有什么明显的,至少在日志文件中没有。

如果我直接从服务下载文件,即使用kubectl port-forward,没有问题。所以看起来这是 EKS 或 NGINX 的问题。我将通常的 NGINX 嫌疑人设置为他们的推荐值,但无济于事。

这是我的入口 yaml

apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
  name: ingress
  namespace: webapps
  annotations:
    kubernetes.io/ingress.class: nginx
    nginx.ingress.kubernetes.io/client-max-body-size: "0"
    nginx.ingress.kubernetes.io/proxy-body-size: "0"
    nginx.ingress.kubernetes.io/proxy-buffering: "off"
    nginx.ingress.kubernetes.io/proxy-max-temp-file-size: "0"
    nginx.ingress.kubernetes.io/ssl-redirect: "true"
    nginx.ingress.kubernetes.io/force-ssl-redirect: "false"
spec:
  tls:
    - hosts:
        - my.website.com
      secretName: tls-secret
  rules:
    - host: my.website.com
      http:
        paths:
          - backend:
              serviceName: servicename
              servicePort: 8080
            path: /

我还检查了生成的 nginx conf,看起来没问题。

对接下来要看什么有什么建议吗?

【问题讨论】:

标签: nginx kubernetes jetty amazon-eks


【解决方案1】:

您能否尝试使用 Nginx 入口注释来增加 readsend 超时

nginx.ingress.kubernetes.io/proxy-read-timeout: "1800" 
nginx.ingress.kubernetes.io/proxy-send-timeout: "1800"

【讨论】:

  • 是的,刚刚尝试过,同样失败。我忘了提及它,但错误是即时的,即在失败之前最多几 MB,即几秒钟。这是一个合理的想法,但我认为目前不存在时间问题。
  • 不确定你指的是哪个答案,但我已经有了 nginx.ingress.kubernetes.io/proxy-max-temp-file-size: "0"
猜你喜欢
  • 1970-01-01
  • 2016-02-18
  • 2012-03-14
  • 2022-01-11
  • 2020-12-12
  • 1970-01-01
  • 2014-06-15
  • 1970-01-01
  • 2015-07-16
相关资源
最近更新 更多