Vue.js / Nginx / Node.js-413请求实体太大

时间:2019-04-11 12:16:15

标签: javascript node.js express file-upload multer

我的前端是在Vue.js上制作的,并且正在生产中的nginx上运行。我的nginx.conf看起来像:

server {
    listen                  80;
    server_name             localhost;

    root                    /usr/share/nginx/html;
    index                   index.html index.htm;

    client_max_body_size    100M;

    # added for VueRouter
    location / {
        try_files $uri $uri/ /index.html;
    }
}

在Node.js应用程序中,我具有使用multer接受文件的终结点:

// 100 MB
const upload = multer({ storage, limits: { fileSize: 100 * 1024 * 1024 } })

const router = express.Router()
router.post('/create', upload.single('file'), ImageController.create)

也在app.js中,我将bodyParser设置为100 MB:

const app = express()

// Middleware
app.use(bodyParser.urlencoded({ limit: '100mb', extended: true, parameterLimit: 100000 }))
app.use(bodyParser.json({ limit: '100mb' }))

但是我仍然收到错误

  

413请求实体太大

我想念什么吗?

1 个答案:

答案 0 :(得分:0)

我设法解决了这个问题,但没有达到我的预期。在我的VPS中,我创建了docker网络nginx-proxy,以将不同的端口链接到不同的域名。我也必须将client_max_body_size 100M;添加到该容器的nginx.conf中!