解决 NGINX 的 413 Request Entity Too Large 错误
更新于 2026-10-02 20:02
上传文件时,如果接口返回 413 Request Entity Too Large,先检查请求经过的代理层是否限制了请求体大小。使用 NGINX 反向代理时,常见原因是请求超过了 client_max_body_size 的配置值。
为什么会报错
该指令默认值为 1m。超过限制的请求会被 NGINX 拒绝,此时应用服务可能还没有收到请求。
限制的是整个请求体,不只是单个文件。multipart 表单还包含字段和分隔信息,因此实际允许的文件大小不能简单等同于配置值。
调整上限
指令可以配置在 http、server 或 location 中。例如,在对应站点的 server 块中增加:
server {
listen 80;
server_name example.com;
client_max_body_size 20m;
# 保留原有 location 和反向代理配置
}如果上传接口位于单独的 location 中,也检查那里是否配置了不同的上限。将指令加入正确的配置块,不要用这段示例覆盖整个站点配置。
检查并重新加载
nginx -t
nginx -s reload先确认配置检查通过,再重新加载。需要管理员权限时,使用部署环境原有的权限与服务管理方式。
如果仍然返回 413,逐层检查 CDN、其他反向代理及应用服务自身的上传限制。只修改其中一层,不会自动放宽其他层;结合响应与对应日志确认谁拒绝了请求。
评论 0
还没有公开评论。
评论已关闭,历史评论仍可阅读。