413 Request Entity Too Large

服务部署到nginx后,前端上传图片报出“413 Request Entity Too Large”。

一看就是图片太大,超过了nginx配置的限制,

看了一下nginx.conf发现没有设置client_max_body_size,这个参数默认只是1M,也就是说上传图片大小不能超过1M

解决办法:

增加如下两行到nginx.conf的http{}段, 增大nginx上传文件大小限制

#设置允许发布内容为8M
client_max_body_size 8M;
client_body_buffer_size 128k;

另外如果运行的是php,那么还要检查php.ini,这个大小client_max_body_size要和php.ini中的如下值的最大值一致或者稍大,这样就不会因为提交数据大小不一致出现的错误。

post_max_size = 8M
upload_max_filesize = 6M

修改完配置后,别忘记重新加载。

虽然这样修改能解决一般问题,相信大家都会问post_max_size 和 upload_max_filesize 之间关系是什么?

从字面含义看一个是上传文件最大值upload_max_filesize,一个是通过POST提交数据的最大值post_max_size ,一般在php中用的是POST方式上传。

所以php.ini中设置 memory_limit > post_max_size > upload_max_filesize

当上传大文件时为了防止网速慢时超时现象,需要适当调大max_execution_time的值。[/size][/size][/size][/size][/b][/size]

你可能感兴趣的:(nginx)