You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

OKE集群中ingress-nginx报413错误:请求实体过大求助

解决Ingress-Nginx 413 Request Entity Too Large问题的额外配置方案

以下是针对你遇到的问题的排查和配置建议:

  • 检查单个Ingress资源的注解配置
    全局的proxy-body-size配置可能被特定Ingress资源的注解覆盖,需要在目标Ingress资源中显式添加注解:

    apiVersion: networking.k8s.io/v1
    kind: Ingress
    metadata:
      name: 你的Ingress资源名称
      annotations:
        nginx.ingress.kubernetes.io/proxy-body-size: "100M"
    spec:
      ingressClassName: nginx # 确保与Ingress Controller的ingressClass一致
      # 其他Ingress规则配置
    
  • 验证Helm配置是否生效

    • 执行helm get values <你的Ingress-Nginx发布名称> -n <命名空间>,确认controller.config.proxy-body-size已正确设置为"100M"
    • 进入Ingress Controller Pod检查Nginx配置:kubectl exec -it <Ingress-Controller-Pod名称> -n <命名空间> -- cat /etc/nginx/nginx.conf,搜索client_max_body_size字段,确认值为100M。如果未生效,重新部署Helm发布:helm upgrade <发布名称> ingress-nginx/ingress-nginx -f custom-values.yaml -n <命名空间>
  • 排查额外代理层的限制
    如果OKE集群前端存在OCI负载均衡器或其他第三方Nginx/OpenResty代理,这些组件也可能设置了请求体大小限制,需要对应调整它们的client_max_body_size参数(或对应平台的请求大小限制配置)

  • 确认IngressClass匹配
    确保你的Ingress资源的spec.ingressClassName与Helm部署的Ingress Controller的controller.ingressClass.name一致。比如Helm配置中设置controller.ingressClass.name: nginx,则Ingress资源必须指定该ingressClassName,否则Controller不会应用全局配置

  • 检查Pod重启状态
    修改Helm配置后,执行kubectl rollout status deployment/<Ingress-Controller-Deployment名称> -n <命名空间>,确认Pod已完成重启并处于就绪状态,确保配置已加载

内容的提问来源于stack exchange,提问作者Rohit Bagade

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.18 20:12:37