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

如何在Node+Nginx环境下实现1GB大文件上传,解决413报错问题

第一步:校验Nginx侧配置有效性
  • 确认client_max_body_size配置的层级优先级:该参数可配置在http、server、location三个块级,优先级依次升高。你仅修改全局nginx.conf的http块配置的话,需要确认站点专属配置(通常存放在/etc/nginx/sites-available/目录下)对应的server块、或者上传接口匹配的location块中没有设置更小的client_max_body_size值覆盖全局配置。建议直接在上传接口对应的location块中显式添加client_max_body_size 1024M;(1024M即可满足1GB上传需求,你之前设置的1048576M为1TB,无必要)。
  • 配置修改完成后必须执行nginx -t校验语法无报错,再执行systemctl reload nginx(对应Debian/Ubuntu发行版,其他发行版按需替换为对应重载命令)让配置生效,未重载配置会导致修改不生效。
第二步:修改Adonis.js框架的上传大小限制

Nginx配置正确仍返回413,大概率是Adonis.js自身的请求体解析限制拦截了大文件请求:

  • Adonis.js v5版本:打开config/bodyparser.ts配置文件,找到multipart配置项,修改limit值为1073741824(1GB对应的字节数),示例配置片段:
multipart: {
  limit: 1073741824,
  autoProcess: true,
  processManually: []
}
  • Adonis.js v4版本:打开config/bodyParser.js配置文件,修改multipart.maxSize字段值为1073741824。
  • 框架配置修改完成后必须重启Adonis.js服务,如果你用PM2管理Node进程,执行pm2 restart <你的服务名称>即可让配置生效。
第三步:排查中间层限制
  • 如果Nginx和Adonis.js之间还部署了WAF、CDN、其他反向代理服务,需要同步修改这些中间层的上传大小限制规则。
  • 可通过直接向Adonis.js服务端口发起大文件上传请求测试,如果请求正常说明问题仍在Nginx或上层中间件侧,如果仍报错则重点排查Adonis.js自身及Node.js运行环境的限制。

内容的提问来源于stack exchange,提问作者Juha Nasuha

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 19:06:10