You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多
文档控制台
注册

K8s Ingress添加proxy-body-size注解仍报413且引号消失问题

Kubernetes Ingress 上传大小限制问题解答

问题1:添加nginx.ingress.kubernetes.io/proxy-body-size注解后仍出现413 Request Entity Too Large错误的原因

以下是几种常见的排查方向:

  • Ingress Controller类型不兼容:你的Ingress配置中同时存在两类注解:nginx.ingress.kubernetes.io/*是Kubernetes社区维护的NGINX Ingress Controller注解,而nginx.org/*是NGINX官方维护的Ingress Controller注解。如果集群实际部署的是NGINX官方版控制器,nginx.ingress.kubernetes.io/proxy-body-size不会生效,需替换为nginx.org/proxy-body-size: 200m
  • 配置未被正确加载:检查Ingress Controller的Pod日志,确认是否识别到该注解;也可进入Controller Pod,查看生成的NGINX配置文件(通常路径为/etc/nginx/nginx.conf),验证client_max_body_size是否被设置为200m
  • 后端服务存在独立限制:Ingress层面放开限制后,后端应用自身可能仍有上传大小限制(例如Spring Boot的spring.servlet.multipart.max-file-size、后端Nginx的client_max_body_size等),需同步调整后端配置。
  • 请求路径未匹配Ingress规则:若上传请求的路径不在你配置的/core//proxy//panel/前缀范围内,该注解的限制不会生效,需确认请求路径是否符合规则。

问题2:注解值引号被移除的原因及是否影响功能

  • 引号被移除的原因:这是YAML的解析特性,当字符串值不包含特殊字符(如空格、冒号、换行符等)时,Kubernetes在处理配置时会自动去掉引号,属于正常的YAML语法处理逻辑。
  • 是否影响功能:完全不影响。NGINX Ingress Controller读取注解时仅关注值的实际内容200m,引号存在与否对功能没有任何影响。所谓“NGINX注解需加引号”的说法,仅适用于值中包含特殊字符的场景(例如值为'10 m'时必须加引号),你的场景中加不加引号效果一致。

内容的提问来源于stack exchange,提问作者Behnia FB

火山引擎 最新活动