2026-08-04 11:08AM
原因:
413 Request Entity Too Large
是因为客户端请求体大小超过 web 服务器限制,上传第4张图片请求体就会超标,3张就会在限制内
413 Request Entity Too Large = HTTP 协议层面错误
单纯 swap 不会直接报 413!
413 只会来自 Nginx / 后端 Gin 的请求体大小限制。
报错日志:
```
# tail -n 100 /var/log/nginx/error.log
2026/07/31 09:33:04 [error] 16141#16141: *1405 client intended to send too large body: 2700168 bytes, client: 115.53.74.100, server: mysite.com, request: "POST /create HTTP/1.1", host: "xuanqi.fun", referrer: "http://mysite.com/new"
2026/07/31 09:35:54 [error] 16140#16140: *1409 client intended to send too large body: 2700430 bytes, client: 115.53.74.100, server: mysite.com, request: "POST /create HTTP/1.1", host: "xuanqi.fun", referrer: "http://mysite.com/new"
2026/07/31 09:40:29 [error] 16140#16140: *1418 client intended to send too large body: 1914420 bytes, client: 115.53.74.100, server: mysite.com, request: "POST /create HTTP/1.1", host: "xuanqi.fun", referrer: "http://mysite.com/new"
2026/07/31 09:45:21 [error] 16141#16141: *1427 client intended to send too large body: 1914090 bytes, client: 115.53.74.100, server: mysite.com, request: "POST /create HTTP/1.1", host: "xuanqi.fun", referrer: "http://mysite.com/new"
root@iZj6cfsi2z803cqy8jc7jiZ:~#
```
日志关键信息:client intended to send too large body
提交的数据大约 1.9MB ~ 2.7MB,超出 Nginx 默认限制(默认client_max_body_size 1m),所以 4 张图整体体积超过 1M 直接拦截,3 张刚好小于 1M 就能提交成功
解决方法:
1. 修改站点配置
$ vim /etc/nginx/sites-enabled/mysite.com
在 server {} 内部加入下面这一行
client_max_body_size 10M;
例如:
server {
listen 80;
server_name mysite.com;
client_max_body_size 10M; # 新增这一行
location / {
proxy_pass http://localhost:8111;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
2. 重启 niginx
3. gin 后端同步增加限制
打开 main.go 文件,在路由初始化位置添加:
r := gin.Default() r.MaxMultipartMemory = 10 << 20 // 10MB
重启go项目
登录
请登录后再发表评论。
评论列表:
目前还没有人发表评论