Strapi GraphQL返回413 Payload too large请求错误如何解决?
Strapi GraphQL接口请求大小限制调整方案
- 问题原因:Strapi的GraphQL插件基于Apollo Server实现,默认使用独立的1MB请求体大小限制,不会继承
middleware.js中针对REST接口配置的body-parser阈值,因此单独修改全局中间件配置对GraphQL接口不生效。 - 调整步骤:
- 打开项目
config/plugins.js文件,若文件不存在则手动创建 - 添加GraphQL插件的专属配置,示例如下:
module.exports = { // 原有其他插件配置保留即可 graphql: { config: { apolloServer: { bodyParserConfig: { limit: '10mb', // 替换为你需要的阈值,可根据base64内容大小调整为20mb、50mb等 }, }, }, }, };- 确保
config/middleware.js中的全局body-parser配置与上述阈值保持一致(已配置过可跳过此步),参考配置如下:
module.exports = [ // 原有其他中间件配置保留即可 { name: 'strapi::body-parser', config: { formLimit: '10mb', jsonLimit: '10mb', textLimit: '10mb', multipart: true, }, }, ];- 重启Strapi服务,配置即可生效。
- 打开项目
- 注意事项:
- base64编码内容比原始内容体积大33%左右,设置阈值时建议预留至少1.5倍的冗余空间,避免超出限制。
- 如果服务前部署了Nginx、CDN等反向代理服务,需要同步调整代理层的客户端请求大小限制,避免请求在进入Strapi前被拦截。
内容的提问来源于stack exchange,提问作者Rajaomaria Jaona
相关产品推荐
相关产品推荐

