Nginx “413 Request Entity Too Large”解决方法

使用bugzilla时,有时需要将手机截屏、拍照作为附件上传,而现在手机分辨率很大,照片大小可能都大于1MB。
最近有同学反映Bugzilla上传较大的附件时,会失败,抛出“Nginx 413 Request Entity Too Large”的错误。看着这个就知道是Nginx那边的配置问题了。

首先检查Bugzilla本身的附件上传限制大小,在Bugzilla的“Administration -> Parameters -> Attachments”的设置maxattachmentsize参数。发现原来我已将其改为8000(KB)。

然后看Nginx配置文件(比如在这个路径/etc/nginx/conf.d/default.conf),发现里面没有设置client_max_body_size参数,而默认是1MB;在server{} 或 http {} 中添加“client_max_body_size 8M;”,将Nginx接受客户端requst最大的body大小设置为8MB。修改Nginx配置后,用service nginx reload命令重新加载配置或者restart nginx。

如果是使用PHP开发应用,我曾在写“PHP实现文件上传功能”时,介绍了php.ini中设置文件上传大小、post请求大小的限制。

参考文档:
http://www.cyberciti.biz/faq/linux-unix-bsd-nginx-413-request-entity-too-large/

master

Stay hungry, stay foolish.

发表评论

邮箱地址不会被公开。 必填项已用*标注

*