前端上传文件接口返回提示413 Request Entity Too Large错误

项目场景:

前端实现一个上传功能,上传大于10M的文件时发现返回报 413 request Entity too Large错误。

经过排查,发现服务器使用nginx作为反向代理服务器,报上名错误,是因为请求长度超过了nginx默认的缓存大小和最大客户端最大请求大小。


解决方案:

修改nginx.conf文件里面的几个相关的配置参数:

1.在http{ }中设置:client_max_body_size 200m;
2.在server{ }中设置:client_max_body_size 200m;
3.在location{ }中设置:client_max_body_size 200m;
三者有区别
设置到http{}内,控制全局nginx所有请求报文大小
设置到server{}内,控制该server的所有请求报文大小
设置到location{}内,控制满足该路由规则的请求报文大小

注意:

client_body_buffer_size 10m(配置请求体缓存区大小, 不配的话) 
client_max_body_size  2000m;  #最大限制为2000M(可根据自己的上传设置文件大小)
client_body_temp_path /data/temp (设置临时文件存放路径。只有当上传的请求体超出缓存区大小时,才会写到临时文件中,注意临时路径要有写入权限) 
如果上传文件大小超过client_max_body_size时,会报413 entity too large的错误。

你可能感兴趣的:(日常总结,日常开发小技巧,nginx)