You need to enable JavaScript to run this app.
导航
业务通过 ingress-nginx 对外暴露,下载大文件超过 1 min 时会话超时断开
最近更新时间:2024.10.28 11:28:06首次发布时间:2023.11.21 19:52:00

问题现象

在浏览器下载大文件时,下载大文件超过 1min 会话就被断开,但在浏览器通过 svc:port 下载大文件时就不会超时断开。

报错如下:

alt

原因分析

使用如下命令,查看 Ingress 配置。

kubectl get Ingress cyb -n bigdata-pro -o yaml

发现并未配置超时相关,所以使用的是默认的 60s。

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  annotations:
    nginx.ingress.kubernetes.io/affinity: cookie
    vke.volcengine.com/ingress-type: ingress-nginx
  creationTimestamp: "2022-11-22T07:15:40Z"
  generation: 2
  managedFields:
  - apiVersion: networking.k8s.io/v1beta1
    fieldsType: FieldsV1
    fieldsV1:
      f:status:
        f:loadBalancer:
          f:ingress: {}
    manager: nginx-ingress-controller
    operation: Update
    time: "2022-11-22T07:15:56Z"
...

解决方案

在产生问题的 Ingress 中增加 Annotations,按需配置超时相关参数的数值。

nginx.ingress.kubernetes.io/proxy-body-size: "0"
nginx.ingress.kubernetes.io/proxy-read-timeout: "3600"
nginx.ingress.kubernetes.io/proxy-send-timeout: "3600"