kubernetes - Kubernetes 和 Nginx 入口 Controller 出现 413 错误

标签 kubernetes nginx kubernetes-ingress nginx-ingress ingress-controller

我正在尝试更改 client_max_body_size 值,以便我的 NGINX 入口不会返回 HTTP 413 内容太大错误(如日志中所示)。

我测试了一些解决方案。
这是我的配置图:

kind: ConfigMap
apiVersion: v1
data:
  proxy-connect-timeout: "15"
  proxy-read-timeout: "600"
  proxy-send-timeout: "600"
  proxy-body-size: "8m"
  hsts-include-subdomains: "false"
  body-size: "64m"
  server-name-hash-bucket-size: "256"
  client-max-body-size: "50m"
metadata:
  name: nginx-configuration
  namespace: ingress-nginx
  labels:
    app: ingress-nginx

这些更改根本没有效果:在 NGINX Controller 的日志中,我可以看到有关重新加载配置映射的信息,但 nginx.conf 中的值是相同的:

$ cat /etc/nginx/nginx.conf | grep client_max                                                                                                       
                            client_max_body_size                    "8m";
                            client_max_body_size                    "1m";
                            client_max_body_size                    "1m";
                            client_max_body_size                    "1m";
                            client_max_body_size                    "1m";
                            client_max_body_size                    "1m";
                            client_max_body_size                    "1m";
                            client_max_body_size                    "1m";
                            client_max_body_size                    "1m";
                            client_max_body_size                    "1m";
                            client_max_body_size                    "1m";
                            client_max_body_size                    "1m";
                            client_max_body_size                    "1m";

我的 nginx-controller 配置使用此图像: quay.io/kubernetes-ingress-controller/nginx-ingress-controller:0.13.0

如何强制 NGINX 更改此设置?我需要对我所有的入口进行全局更改。

最佳答案

您可以使用annotation nginx.ingress.kubernetes.io/proxy-body-size 在 Ingress 对象中设置 max-body-size 选项,而不是更改基本 ConfigMap。

以下是使用示例:

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: my-app
  annotations:
    nginx.ingress.kubernetes.io/proxy-body-size: "50m"
...

关于kubernetes - Kubernetes 和 Nginx 入口 Controller 出现 413 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49918313/

相关文章:

spring-boot - 如何使用 Kubernetes Ingress 执行自定义身份验证

kubernetes - 如何获得一堆短暂的Kubernetes职位的指标

kubernetes - 关闭节点时端点更新非常慢

go - 如何让多个请求爆发等待首先完成(分布式)

scala - Java的GCE消耗环境变量

kubernetes - Traefik-ingress 仪表板返回 404

Nginx Ingress Controller 抛出 400 Bad Request 错误

nginx 将所有 www 域重定向到非 www 域

google-app-engine - 通过代理使用 Google App Engine 的位置服务

nginx - docker swarm 模式(docker 1.13 和 compose v3)真的提供零停机滚动更新或部署吗?