解决请求实体上传过大 ingress 报错 413 Request Entity Too Large的问题

经常我们会遇到上传超过1M左右的文件,但是向K8S中的Ingress nginx发起请求的时候会报错413 Request Entity Too Large。

具体原因是因为ingress nginx 默认 client_max_body_size为 1M, 超过 1M 后会报错 413 Request Entity Too Large。

解决办法

找到k8s集群 的ingress路由规则配置,编辑yaml,添加如下注解

nginx.ingress.kubernetes.io/proxy-body-size: 20m

我这里是springcloud微服务,所有的请求都会经过springcloud gateway网关服务,因此,我只需要在gateway网关服务的Ingress路由规则中添加注解设置为最大20M即可。示例如下:

kind: Ingress
apiVersion: networking.k8s.io/v1
metadata:
  name: ingress-gateway
  namespace: c2c-dev
  annotations:
    kubernetes.io/ingress.class: nginx
    nginx.ingress.kubernetes.io/cors-allow-credentials: 'true'
    nginx.ingress.kubernetes.io/cors-allow-methods: 'GET, PUT, POST, DELETE, PATCH, OPTIONS'
    nginx.ingress.kubernetes.io/cors-allow-origin: '*'
    nginx.ingress.kubernetes.io/enable-cors: 'false'
    nginx.ingress.kubernetes.io/proxy-body-size: 20m
spec:
  rules:
    - host: gateway.dev.c2c.inc
      http:
        paths:
          - path: /
            pathType: ImplementationSpecific
            backend:
              service:
                name: kkb-gateway
                port:
                  number: 80
解决请求实体上传过大 ingress 报错 413 Request Entity Too Large的问题
声明: 本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

给TA打赏
共{{data.count}}人
人已打赏
Kubernetes

k8s集群经历断电后无法启动的故障处理分享

2024-12-10 8:55:09

Kubernetes

消除 Kubernetes 中的未利用资源

2024-12-11 12:24:23

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索