調べた結果、
- ExpressのbodyParserミドルウェア
- MultiPartフォームデータの処理を簡単にしてくれるミドルウェアのMulter
- そしてリバースプロキシとして使っているNginx
の3箇所で許可するファイルサイズの最大値を設定する必要があることが分かりました。
1. Expressの設定
app.use(bodyParser.json({ limit: '20mb' }));
app.use(bodyParser.urlencoded({ extended: true, limit: '20mb' }));
2. Multerの設定
const upload = multer({
limits: {
fileSize: 1024 * 1024 * 20, // 最大20MBまで許可
}
});
3. Nginxの設定
location / {
proxy_pass http://127.0.0.1:3000;
... (略) ...
client_max_body_size 20M;
}
最初1と2の設定を付けたのに上手く行かなくて、3の設定が必要な事に気付くまでに時間がかかってしまったので、メモしておきます。