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

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://nolinux.blog.51cto.com/4824967/1575160

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

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

<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 服务。开发那边测试正常,问题解决。

转自:http://nolinux.blog.51cto.com/4824967/1575160

原创文章,作者:s19930811,如若转载,请注明出处:http://www.178linux.com/1943

(1)
上一篇 2016-08-15 12:12
下一篇 2016-08-15 12:12

相关推荐

  • 磁盘管理

    磁盘管理磁盘管理 本章内容 磁盘结构 分区类型 管理分区 管理文件系统 挂载设备 管理虚拟内存 设备文件 I/O Ports: I/O设备地址 一切皆文件: open(), read(), write(), close() 设备类型: 块设备:block,存取单位“块”,磁盘 字符设备:char,存取单位“字符”,键盘 设备文件:关联至一…

    Linux干货 2016-08-26
  • N25-第十一周

    1、详细描述一次加密通讯的过程,结合图示最佳。 发送者: 1.使用单项加密算法提取生成数据的特征码 2.使用自己的私钥加密特征码附加在数据后面 3.生成用于对称加密的临时密钥 4.用此临时密钥加密数据和已经使用私钥加密后的特征码 5.使用接收方的公钥加密此临时密钥,附加在对称后的数据后方 接收方: 1.使用自己的私钥解密的临时秘钥;从而获得对方的对称密钥 2…

    2017-06-05
  • Elasticsearch 5.0 集群

    IT运维 www.chinasa.net 下载地址:https://www.elastic.co/downloads/elasticsearch 1、JDK 安装略过 node1 部署 2、Elasticsearch安装 #tar zxvf elasticsearch-5.0.0.tar.gz -C /opt/ #cd /opt #mv elast…

    系统运维 2016-12-27
  • 深入理解php底层:php生命周期

    1、PHP的运行模式:     PHP两种运行模式是WEB模式、CLI模式。无论哪种模式,PHP工作原理都是一样的,作为一种SAPI运行。 1、当我们在终端敲入php这个命令的时候,它使用的是CLI。 它就像一个web服务器一样来支持php完成这个请求,请求完成后再重新把控制权交给终端。 2、当使用Apache或者别web服务器…

    系统运维 2015-05-28
  • 有趣的bash脚本

    1、编写脚本/root/bin/createuser.sh,实现如下功能:使 用一个用户名做为参数,如果指定参数的用户存在,就显示 其存在,否则添加之;显示添加的用户的id号等信息 #!/bin/bash read -p “Please input username: ” n if id $n &> /dev/null;then echo “T…

    Linux干货 2017-08-25