主页

HTTP 413 - 个人博客最多只能放3张图片,超过3张就会报错 413

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项目

返回>>

登录

请登录后再发表评论。

评论列表:

目前还没有人发表评论