Node.js文件大小限制配置问题:仍遇413错误求助
问题:Express返回413请求实体过大错误,已尝试多种配置无效
已做的配置尝试:
- Nginx反向代理配置:
location /api/ { client_max_body_size 20M; }
- Node.js(Express)入口文件配置:
var path = require('path'); var http = require('http'); const auth = require('./middleware/auth'); var oas3Tools = require('oas3-tools'); const bodyParser = require('body-parser'); const express = require('express'); var options = { openApiValidator: { // Details of options see here // https://github.com/cdimascio/express-openapi-validator/wiki/Documentation#openapivalidator-middleware-options apiSpec: path.join(__dirname, 'api/openapi.yaml'), validateSecurity: { handlers: { bearerAuth: auth.authenticateToken, }, }, }, routing: { controllers: path.join(__dirname, './controllers') }, middleware: { pre: [ express.json({ limit: '50mb' }), express.urlencoded({ limit: '50mb', extended: true }), (req, res, next) => { res.header('Access-Control-Allow-Origin', '*'); res.header('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE, OPTIONS'); res.header('Access-Control-Allow-Headers', 'Origin, X-Requested-With, Content-Type, Accept, Authorization'); next(); } ] } }; var expressAppConfig = oas3Tools.expressAppConfig(path.join(__dirname, 'api/openapi.yaml'), options); var app = expressAppConfig.getApp(); app.use(cors({ origin: '*', credentials: true })); // Initialize the Swagger middleware http.createServer(app).listen(serverPort, function () { console.log('Your server is listening on port %d (http://localhost:%d)', serverPort, serverPort); console.log('Swagger-ui is available on http://localhost:%d/docs', serverPort); });
- 额外尝试:添加了
parserLimit: '1mb'配置,但仍无效。
目前问题:仍收到413错误,经TCP追踪确认错误由Node.js返回,推测是Express默认100KB的大小限制问题,但不知如何修改该配置,恳请帮助。
内容的提问来源于stack exchange,提问作者Andrea__yk
相关产品推荐
相关产品推荐

