nginx
config_error
ai_generated
true
client intended to send too large body: body size exceeds client_body_buffer_size
ID: nginx/client-body-buffer-overflow
90%Fix Rate
85%Confidence
1Evidence
2024-01-15First Seen
Version Compatibility
| Version | Status | Introduced | Deprecated | Notes |
|---|---|---|---|---|
| nginx 1.24.0 | active | — | — | — |
| nginx 1.22.1 | active | — | — | — |
| nginx 1.20.2 | active | — | — | — |
Root Cause
Nginx buffers the request body to a temporary file when it exceeds client_body_buffer_size, but if the body is too large and client_max_body_size is not properly set, the connection is rejected.
generic中文
Nginx 在请求体超过 client_body_buffer_size 时将其缓冲到临时文件,但如果请求体过大且 client_max_body_size 未正确设置,连接会被拒绝。
Official Documentation
https://nginx.org/en/docs/http/ngx_http_core_module.html#client_max_body_sizeWorkarounds
-
90% success Increase client_max_body_size in http, server, or location block to allow larger bodies: `client_max_body_size 50M;`
Increase client_max_body_size in http, server, or location block to allow larger bodies: `client_max_body_size 50M;`
-
80% success Ensure client_body_buffer_size is set appropriately (e.g., 128k) and that the system has enough disk space for temporary files in the path defined by client_body_temp_path.
Ensure client_body_buffer_size is set appropriately (e.g., 128k) and that the system has enough disk space for temporary files in the path defined by client_body_temp_path.
-
85% success Check the actual body size in logs and set client_max_body_size accordingly. For file uploads, ensure the frontend sends the correct Content-Length header.
Check the actual body size in logs and set client_max_body_size accordingly. For file uploads, ensure the frontend sends the correct Content-Length header.
中文步骤
Increase client_max_body_size in http, server, or location block to allow larger bodies: `client_max_body_size 50M;`
Ensure client_body_buffer_size is set appropriately (e.g., 128k) and that the system has enough disk space for temporary files in the path defined by client_body_temp_path.
Check the actual body size in logs and set client_max_body_size accordingly. For file uploads, ensure the frontend sends the correct Content-Length header.
Dead Ends
Common approaches that don't work:
-
70% fail
client_body_buffer_size only controls in-memory buffering; client_max_body_size is the actual limit.
-
50% fail
This can cause upstream servers to receive partial data and may break applications that expect full body.
-
90% fail
proxy_buffer_size is for response headers, not request bodies.