小图片上传成功,换成 12MB 文件立即返回 413,Magento 的 var/log 没有任何记录。这个证据说明请求还没进入应用。
- 用响应头判断返回 413 的服务器;
- 检查入口代理、Nginx 虚拟主机和 location 覆盖;
- 再核对 PHP-FPM 的上传与 POST 限制;
- 最后确认 Magento 字段本身允许该扩展名和大小。
nginx -T 2>/dev/null | grep -n client_max_body_size
php-fpm -i | grep -E 'upload_max_filesize|post_max_size'
curl -i -X POST https://shop.example/rest/V1/vendor/upload -H 'Authorization: Bearer ***' -F 'file=@sample.bin'post_max_size 应大于实际 multipart 请求体,因为边界和其他字段也占空间。改完 Nginx 配置要 reload,改 FPM 配置要重载对应 pool。不要用无限制大小代替容量设计;API 仍应在业务层校验类型、尺寸并避免把整个文件长期留在内存。

