nginx: client intended to send too large body

最近上传大于1M文件的时候,报错nginx。

413 Request Entity Too Large

经过排查修改nginx配置

这是最简单的一个做法,着报错原因是nginx不允许上传配置过大的文件,那么件把nginx的上传大小配置调高就好。

1、打开nginx主配置文件nginx.conf, 找到http{}段并修改以下内容:

client_max_body_size 15m;
client_body_buffer_size 15m;

2、 把nginx.conf 加上超时时间 (在http{}里配置即可)
nginx使用proxy模块时,默认的读取超时时间是60s。

配置nginx上传文件大小限制

client_max_body_size 15m;
client_body_buffer_size 15m;
 # 超时时间
proxy_connect_timeout       300s; //后端服务器连接的超时时间_发起握手等候响应超时时间
proxy_send_timeout          300s;  //后端服务器数据回传时间_就是在规定时间之内后端服务器必须传完所有的数据
proxy_read_timeout          300s; //也可以说是后端服务器处理请求的时间
send_timeout                300s; //传输响应给客户端的超时时间
fastcgi_connect_timeout 300; //指定nginx与后端fastcgi server连接超时时间
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;

扩展:
语法:keepalive_timeout timeout [header_timeout];
默认值:keepalive_timeout 75s;
上下文:http、服务器、位置

第一个参数设置超时,在此期间,保持活动的客户端连接将在服务器端保持打开状态。零值禁用保持活动的客户端连接。

可选的第二个参数在“Keep-Alive: timeout=time”响应头字段中设置一个值。两个参数可能不同。

“Keep-Alive: timeout=time”头字段被 Mozilla 和 Konqueror 识别。MSIE 会在大约 60 秒内自行关闭保持活动连接。

语法:send_timeout 时间;
默认值:send_timeout 60s;
上下文:http、服务器、位置

设置传输响应给客户端的超时时间。超时仅设置在两次连续的写操作之间,而不是用于整个响应的传输。如果客户端在这段时间内没有收到任何消息,则连接关闭。

所以在使用时keepalive_timeout,浏览器不必进行多次连接,而是使用已经建立的连接。这控制了保持活动/打开的时间。

我建议,如果您将send_timeoutWeb 服务器设置为小,它将快速关闭连接,这将为连接主机提供更多可用的整体连接。

这些参数很可能只与高流量网络服务器相关,两者都支持相同的目标:更少的连接和更高效的请求处理,或者将所有请求放入一个连接(保持活动)或快速关闭连接以处理更多请求(发送超时) )。

3. 以上全部配置,发现并未生效
原因是我们使用了k8s容器管理,nginx镜像配置不知被哪位同事修改了,根本没有将外部nginx.conf配置文件挂载到镜像中。
在这里插入图片描述
后将其挂载到镜像中重启nginx即可解决。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
2023/07/24 15:14:58 [error] 721#0: *763 client intended to send too large body: 113069413 bytes, client: 101.83.232.139, server: hetx.top, request: "PUT /index.php/dav/my/%E6%96%87%E4%BB%B6/XMind2022%EF%BC%8864bit%EF%BC%89/XMind2022%EF%BC%8864bit%EF%BC%89/app.asar HTTP/2.0", host: "hetx.top" 2023/07/24 15:15:06 [error] 721#0: *763 client intended to send too large body: 113069413 bytes, client: 101.83.232.139, server: hetx.top, request: "PUT /index.php/dav/my/%E6%96%87%E4%BB%B6/XMind2022%EF%BC%8864bit%EF%BC%89/XMind2022%EF%BC%8864bit%EF%BC%89/app.asar HTTP/2.0", host: "hetx.top" 2023/07/24 15:16:12 [error] 721#0: *763 client intended to send too large body: 134120318 bytes, client: 101.83.232.139, server: hetx.top, request: "PUT /index.php/dav/my/%E6%96%87%E4%BB%B6/XMind2022%EF%BC%8864bit%EF%BC%89.7z HTTP/2.0", host: "hetx.top" 2023/07/24 15:16:40 [error] 721#0: *763 client intended to send too large body: 134120318 bytes, client: 101.83.232.139, server: hetx.top, request: "PUT /index.php/dav/my/%E6%96%87%E4%BB%B6/XMind2022%EF%BC%8864bit%EF%BC%89.7z HTTP/2.0", host: "hetx.top" 2023/07/24 15:16:43 [error] 721#0: *763 client intended to send too large body: 134120318 bytes, client: 101.83.232.139, server: hetx.top, request: "PUT /index.php/dav/my/%E6%96%87%E4%BB%B6/XMind2022%EF%BC%8864bit%EF%BC%89.7z HTTP/2.0", host: "hetx.top" 2023/07/24 15:16:45 [error] 721#0: *763 client intended to send too large body: 134120318 bytes, client: 101.83.232.139, server: hetx.top, request: "PUT /index.php/dav/my/%E6%96%87%E4%BB%B6/XMind2022%EF%BC%8864bit%EF%BC%89.7z HTTP/2.0", host: "hetx.top" 2023/07/24 15:19:37 [error] 721#0: *878 client intended to send too large body: 134120318 bytes, client: 101.83.232.139, server: hetx.top, request: "PUT /index.php/dav/my/%E6%96%87%E4%BB%B6/XMind2022%EF%BC%8864bit%EF%BC%89.7z HTTP/2.0", host: "hetx.top" 2023/07/24 15:20:30 [error] 721#0: *878 client intended to send too large body: 134120318 bytes, client: 101.83.232.139, server: hetx.top, request: "PUT /index.php/dav/my/XMind2022%EF%BC%8864bit%EF%BC%89.7z HTTP/2.0", host: "hetx.top" 2023/07/24 15:31:12 [error] 1209#0: *28 client intended to send too large body: 134120318 bytes, client: 101.83.232.139, server: hetx.top, request: "PUT /index.php/dav/my/%E6%96%87%E4%BB%B6/XMind2022%EF%BC%8864bit%EF%BC%89.7z HTTP/2.0", host: "hetx.top" 2023/07/24 15:42:10 [error] 1209#0: *110 directory index of "/www/wwwroot/hetx.top/static/" is forbidden, client: 113.142.131.55, server: hetx.top, request: "GET /static/ HTTP/1.1", host: "hetx.top"
07-25

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值