改了 http 块的 client_max_body_size 100m,还是 413。
原因:location 块自己有 client_max_body_size,覆盖了上层。而且如果做了反代,后端 PHP 还有 upload_max_filesize 和 post_max_size,Java 有 max-http-post-size,Spring 有 max-file-size。
链条上每一环都要改:
nginx → 后端容器 → 应用配置 → 框架配置排查方法:从外往里逐层测,每层用 curl 传一个大文件,看在哪一层断。
另一坑:如果前面还有 CDN 或者云负载均衡,它们也有上限,而且经常是 10m 这种默认值,改 nginx 没用。
现在我的习惯是先画一条请求链路,逐层标上限,再动手。
主楼- 暂无回复
继续逛逛