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

ASP.NET与Nginx环境下413 Request Entity Too Large错误排查

413 Request Entity Too Large 问题排查(已配置Nginx client_max_body_size仍未解决)

可能的原因及修复方案

  • Nginx配置未实际生效:你在location /块设置的client_max_body_size可能被上层配置覆盖——检查http全局块、当前server块是否存在同名配置,若有需确保上层值不小于450M。修改配置后必须执行nginx -t验证语法,再通过nginx -s reload重启生效,若语法错误配置不会加载。
  • ASP.NET服务自身的请求大小限制:ASP.NET Core默认对请求体大小有严格限制(默认约30MB),和Nginx配置无关:
    • 调整Kestrel的请求大小限制,在Program.cs中添加:
      builder.WebHost.ConfigureKestrel(options =>
      {
          options.Limits.MaxRequestBodySize = 471859200; // 对应450MB,单位为字节
      });
      
    • 同时检查代码中是否存在[RequestSizeLimit]特性或全局中间件设置了更小的限制值,需统一调整。
  • 请求实际体积超出450M:近4万行的JSON可能因包含大量冗余字符、长文本字段,实际体积远超预估。用请求工具(如Postman)查看请求体的真实字节大小,将client_max_body_size调整为更大的值(如500M)。
  • Nginx代理缓冲区不足:大体积请求可能触发Nginx代理缓冲区溢出,导致请求被截断。在location /块添加以下配置:
    proxy_buffers 8 64k;
    proxy_buffer_size 128k;
    proxy_busy_buffers_size 256k;
    
    这些参数控制代理时的内存缓冲区大小,避免因缓冲区不足拒绝请求。
  • 中间环节的额外限制:若请求经过浏览器、CDN或其他中间代理,需排查这些环节的请求大小限制——比如部分浏览器对POST请求有默认大小限制,部分CDN会强制限制请求体体积。

内容的提问来源于stack exchange,提问作者andrew spike

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 12:12:13