解决请求实体上传过大 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
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇