413
api
resource_error
ai_generated
true
GraphQL HTTP 413:查询负载过大
GraphQL HTTP 413: Query payload too large
ID: api/graphql-http-413-payload-too-large-query
80%修复率
86%置信度
1证据数
2024-01-15首次发现
版本兼容性
| 版本 | 状态 | 引入 | 弃用 | 备注 |
|---|---|---|---|---|
| Apollo Server 4.x | active | — | — | — |
| Express 4.18+ | active | — | — | — |
| NGINX 1.24+ | active | — | — | — |
| GraphQL Yoga 3.x | active | — | — | — |
| AWS API Gateway 2023+ | active | — | — | — |
根因分析
GraphQL 查询或变更主体超过了服务器配置的 HTTP 请求体大小限制(例如 Express/NGINX 中的默认 1 MB)。
English
GraphQL query or mutation body exceeds the HTTP request body size limit configured on the server (e.g., 1 MB default in Express/NGINX).
官方文档
https://www.apollographql.com/docs/apollo-server/performance/limits/#request-body-size解决方案
-
Increase the body size limit in Express middleware: const express = require('express'); const app = express(); app.use(express.json({ limit: '10mb' })); // Increase to 10 MB If using Apollo Server with Express, apply this before the Apollo middleware. -
If using NGINX as a reverse proxy, increase client_max_body_size in the server block: server { client_max_body_size 10m; ... }
无效尝试
常见但无效的做法:
-
60% 失败
The body size limit is checked before query parsing.
-
40% 失败
GET requests have their own size limits (e.g., 8 KB for most servers) and are not suitable for large queries.