Nginx 配置调整以解决 HTTP 413 错误

在处理 HTTP 请求时,Nginx 会返回 413 错误代码,表示客户端请求的主体过大。这通常发生在上传文件或发送大数据时。根据你的日志示例:
2025/01/06 17:00:54 [error] 7038#0: *121143 client intended to send too large body: 2120716 bytes, client: 111.111.11.11, server: app.topexpre.com, request: "POST /test HTTP/1.1", host: "test.com" |
这表明客户端尝试发送 2,120,716 字节的数据,但 Nginx 默认的 client_max_body_size 配置限制了请求体的大小。
解决方案
1. 修改 Nginx 配置
为了允许更大的请求体,你可以在 Nginx 配置文件中设置 client_max_body_size 参数。你提到的修改可以放在 http、server 或 location 块中。以下是如何进行修改的示例:
在 http 块中
如果你希望所有的 Nginx 服务器都应用此设置,可以在 nginx.conf 的 http 块中添加:
http { |
在 server 块中
如果你只想在特定的虚拟主机中应用此设置,可以在 server 块中添加:
server { |
在 location 块中
如果你希望只在特定路径下允许更大的请求体,可以在 location 块中配置:
location / { |
2. 重新加载 Nginx 配置
完成修改后,记得重新加载 Nginx 配置,以使更改生效:
sudo nginx -s reload |
3. 验证配置
可以使用以下命令检查 Nginx 配置是否有语法错误:
sudo nginx -t |
如果输出显示 syntax is ok 和 test is successful,则可以安全地重新加载配置。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Leon!
评论





