码迷,mamicode.com
首页 > 其他好文 > 详细

运维挖坑埋坑之旅----413 Request Entity Too Large

时间:2014-11-11 02:06:34      阅读:230      评论:0      收藏:0      [点我收藏+]

标签:linux   nginx   ops   413   

       好久没写博文了,天天忙的喘不过来气。最近是该总结总结前段时间的工作了,顺便缓解下这两天的霉气。

       今天在内部上了一套图片编辑系统,结果下午就收到开发的报错,报错信息如下:

<html>
<head><title>413 Request Entity Too Large</title></head>
<body bgcolor="white">
<center><h1>413 Request Entity Too Large</h1></center>
<hr><center>nginx/1.6.0</center>
</body>
<html>

       通过提示信息可以看出该问题是由于客户端请求的内容过大造成的,进一步查看HTTP状态码表,可以看到HTTP协议中是这样定义这个错误的:

服务器拒绝处理当前请求,因为该请求提交的实体数据大小超过了服务器愿意或者能够处理的范围。此种情况下,服务器可以关闭连接以免客户端继续发送此请求。

       通过和开发交流,发现当在前端程序上传大于1M的图片时,会产生以上报错信息。

       之前经常看nginx的书籍,了解 nginx 涉及到上传的参数有 3 个。

client_body_buffer_size # 配置请求实体缓存区大小。当上传的请求实体超出缓存区大小时,会写到client_body_temp_path配置的路径下去
client_body_temp_path   # 设置临时文件存放路径,该路径必须有写权限,不然会报 500 错误
client_max_body_size    # 设置上传文件的最大值,默认值为1M

       因此就想到这个错误可能和 client_max_body_size 有关。

       经过查看nginx的配置文件,发现尚未配置这个值。这说明就使用的是该参数的默认值 1 M。于是,我就在该配置文件中添加了相关参数:

client_body_temp_path /usr/local/nginx/html;
client_body_buffer_size 128k;
client_max_body_size 8M;

       添加完毕之后,重载 nginx 服务。开发那边测试正常,问题解决。


本文出自 “Not Only Linux” 博客,请务必保留此出处http://nolinux.blog.51cto.com/4824967/1575160

运维挖坑埋坑之旅----413 Request Entity Too Large

标签:linux   nginx   ops   413   

原文地址:http://nolinux.blog.51cto.com/4824967/1575160

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!