http请求出现413错误码

当上传文件超过Nginx默认的1MB限制时,会出现413错误。解决方法是在http、server或location配置块中调整client_max_body_size参数,如设置为20M,以允许更大的文件上传。配置的不同位置会影响其作用范围。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

网站在进行文件上传的时候出现了上传文件失败,

查看上传时的请求连接,发现上传的url报出了413的错误码。

413的错误码是表示:
请求实体太大。

为什么会出现该问题?
是因为nginx中的某处配置不够大

       #允许客户端请求的最大单文件字节数
        client_max_body_size 10m; 

        #缓冲区代理缓冲用户端请求的最大字节数,
        client_body_buffer_size 128k;

        #nginx跟后端服务器连接超时时间(代理连接超时)
        proxy_connect_timeout 90;

        #连接成功后,后端服务器响应时间(代理接收超时)
        proxy_read_timeout 90;

        #设置代理服务器(nginx)保存用户头信息的缓冲区大小
        proxy_buffer_size 4k;

        #proxy_buffers缓冲区,网页平均在32k以下的话,这样设置
        proxy_buffers 4 32k;

        #高负荷下缓冲大小(proxy_buffers*2)
        proxy_busy_buffers_size 64k; 

        #设定缓存文件夹大小,大于这个值,将从upstream服务器传
        proxy_temp_file_write_size 64k;  

其中 设置
        client_max_body_size 8M;(配置请求体缓存区大小, 不配的话) 
        client_body_buffer_size 128k;(设置客户端请求体最大值) 
这两项值应该就可以了。
最后再将nginx进行重新启动即可。

Failed to load resource: the server responded with a status of 413 (Request Entity Too Large)

1、错误描述
这里写图片描述

2、错误原因

  上传文件时,利用localhost访问系统,不会出现这个问题;用域名访问这个系统时,出现这个问题,提示是:请求实体太大

 
 
  • 1

由于Nginx反向代理服务器client_max_body_size默认值为1MB,而上传文件大于1MB,所以就出现这个错误

3、解决办法

 打开Nginx反向代理服务器nginx.conf配置文件,修改client_max_body_size值

 client_max_body_size   8M

 
 
  • 1
  • 2
  • 3

4、存放位置
可以选择在http{ }中设置:client_max_body_size 20m;

也可以选择在server{ }中设置:client_max_body_size 20m;

还可以选择在location{ }中设置:client_max_body_size 20m;

三者到区别是:http{} 中控制着所有nginx收到的请求。而报文大小限制设置在server{}中,则控制该server收到的请求报文大小,同理,如果配置在location中,则报文大小限制,只对匹配了location 路由规则的请求生效。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值