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

其他格式: JSON · Markdown 中文 · English
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).

generic

官方文档

https://www.apollographql.com/docs/apollo-server/performance/limits/#request-body-size

解决方案

  1. 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.
  2. If using NGINX as a reverse proxy, increase client_max_body_size in the server block:
    server {
        client_max_body_size 10m;
        ...
    }

无效尝试

常见但无效的做法:

  1. 60% 失败

    The body size limit is checked before query parsing.

  2. 40% 失败

    GET requests have their own size limits (e.g., 8 KB for most servers) and are not suitable for large queries.