Nginx Ingress Controller 502大型文件上传的坏网关



我们最近从0.8.2升级到0.11.0,并开始获得502个坏网关错误在大约10 mb或更高的大文件上载上,我们将 client_max_body_size 设置为 500m 通过 proxy-body-size 验证它的设置。大约5-6 MB的较小文件正常工作。

日志中没有错误,只有这些消息。

编辑 - [编辑] - [25/3月/2018:02:08:49 0000]" /删除/上传http/1.1" 000 0" https://redacted/" mozilla/5.0 (Windows NT 10.0; Win64; X64(AppleWebkit/537.36(Khtml,像Gecko一样( Chrome/65.0.3325.181 Safari/537.36" 3371263 10.850 [uploader-443] -------

[WARN] 30684#30684: *42090客户请求正文被缓冲到一个 临时文件/var/lib/nginx/body/0000000482,客户: 服务器:已编辑,请求:"发布/删除/上传http/1.1",主机: "删除",转介商:" https://redacted/"

代理服务器是tomcat,请求不会到达tomcat。我们尝试增加:

  • 超时
  • proxy_buffers
  • proxy_buffer_size

但是什么都没有。

回到 0.8.2 版本可以解决问题。

更新1:nginx.conf snippet

位置/删除/{

port_in_redirect off;

设置$ PROXY_UPSTREAM_NAME" REDACTED-443";

....

....

client_max_body_size" 500m";

看来,您可能需要在所有入口规则上全球设置更大的文件大小。

这可以通过使用代理机体大小参数即:

来实现。
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  annotations:
    nginx.ingress.kubernetes.io/proxy-body-size: 20mb
.... 

之后,它应该适用于大于10MB的文件。

您是否验证了生成的nginx.conf查看该值是否实际设置?我在Ingress配置本身中使用了它,并且它可以工作(版本0.11(

我建议使用configmap设置:

  body-size: "1024m"
  proxy-body-size: "1024m"

这是一个完整的示例:https://github.com/mateothegreat/k8-byexampleas-rress-controller/blob/master/manifests/configmap.yaml

要将ConfigMap应用于Ingress-controller部署,您需要将其作为参数传递给容器,例如:https://github.com/mateothegreat/k8-byexampleas-exampleas-controller/master/master/manifests/controller-deployment.yaml#l59

我得到了同样的问题

首先,我得到 413 是通过添加

来解决的
nginx.ingress.kubernetes.io/proxy-body-size: "10m"

后来服务开始给出 502 。当查看豆荚时,将文件上传时,吊舱就会被填充。因此,我们需要增加容器的资源限制。

 containers:
    - name: test-service
      image: test-service:develop
      imagePullPolicy: Always
      resources:
        requests:
          memory: 256Mi
        limits:
          memory: 512Mi

我面临着同样的问题。在我们的情况下,这是一个带有UWSGI的Python Django应用程序,并以Nginx设置为入口控制器。当上传大于50MB的文件时,我将获得502,尽管我已经将所有配置添加到了Ingress Controller Config Map中。事实证明,问题是豆荚的活泼调查。当将一个大文件发送到应用程序时,将作为单个线程运行的UWSGI服务器忙于该请求,并将其调查时间淘汰。因此,豆荚会重新启动。我通过从部署中删除活泼的检查来对此进行了测试,并在没有任何问题的情况下上传了文件。

相关内容

  • 没有找到相关文章

最新更新