Plesk环境下Express/Nodejs用multer上传报413 Request Entity Too Large如何解决
Plesk环境Node.js+multer上传返回413 Request Entity Too Large 解决方案
问题原因
本地运行无限制是因为缺少Plesk自带的反向代理层校验,Plesk默认会在Nginx/Apache反向代理、站点服务配置、Node运行环境多层设置请求体大小上限,超过阈值就会返回413错误,和multer本身配置无直接关联。
分步调整配置
确认multer侧大小限制
先保证multer配置的文件大小上限符合业务需求,示例如下(允许最大100MB文件上传):
const multer = require('multer'); const upload = multer({ storage: multer.diskStorage({ // 你的本地/OSS存储逻辑 }), limits: { fileSize: 100 * 1024 * 1024 // 单位为字节,按实际需求调整 } })注意:multer的大小上限要和后续服务器配置的上限保持一致,避免出现逻辑冲突
修改Nginx反向代理配置
Plesk默认Nginx请求体上限仅为2MB,需手动调整:
- 登录Plesk面板进入对应站点管理页
- 依次进入「主机设置」→「Web服务器(Nginx)」配置区
- 在「附加Nginx指令」输入框添加如下配置:
client_max_body_size 100M; # 数值和业务需要的最大上传大小保持一致 - 保存配置等待生效
(使用Apache的环境)调整Apache请求限制
若站点用Apache处理动态请求,还需要修改Apache的大小上限:
- 进入站点「主机设置」→「Web服务器(Apache)」配置区
- 在「附加Apache指令」的HTTP、HTTPS两个输入框中分别添加:
LimitRequestBody 104857600 # 单位为字节,100MB对应值为100*1024*1024 - 保存配置后重启站点服务
调整Plesk Node.js扩展配置
Plesk的Node.js托管扩展也可能存在默认请求限制,按需调整:
- 进入站点「Node.js」管理页面
- 在「自定义环境变量」区域添加变量:
变量名:NODE_OPTIONS,变量值:--max-http-header-size=1048576 - 点击「重启应用」生效配置
验证方式
所有配置调整完成后,上传大小符合新阈值的文件测试即可。如果仍然报错,可查看站点错误日志定位是哪一层返回的413错误,对应调整阈值即可。
内容的提问来源于stack exchange,提问作者mohammadyasin parsi
相关产品推荐
相关产品推荐

