node+express+nginx架构关于上传文件出现 Request Entity Too Large 的问题

解决方法分两步走:

1、修改express框架设置请求的允许最大值

将原框架中这两行代码:

app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));

修改为:

app.use(bodyParser.json({limit: '50mb'})); // 这里limit值可以根据实际情况自由设定
app.use(bodyParser.urlencoded({
    limit: '50mb',
    extended: true
}));

重启服务继续上传大文件,如果问题解决,到此OK。
如果仍然没有解决就有可能是代理nginx配置文件设置的问题,进入第二步。

2、修改nginx的配置文件nginx.conf

在 http{} 中添加或者修改client_max_body_size设置

http {
    client_max_body_size 100m;  //添加或修改本行配置,最大允许值可根据需求自由设定
    include       mime.types;
    default_type  application/octet-stream;
    ...
}

修改后上传覆盖掉原来的配置 路径/usr/local/nginx/conf/nginx.conf 一般路径是这样,特殊情况自己去查。
重启nginx

nginx -s reload
或者/usr/local/nginx/sbin/nginx -s reload

问题解决。

    原文作者:sourcenode
    原文地址: https://segmentfault.com/a/1190000020351150
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞