运维挖坑埋坑之旅—-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)
s19930811s19930811
上一篇 2016-08-15
下一篇 2016-08-15

相关推荐

  • 14程序包的编译安装

    在有些源代码程序没有被编译成rpm的时候,或者其他人写了一个源代码程序,要把它安装在服务器上要怎么做呢? 那就需要对源代码进行编译安装了。 C代码编译安装三步骤: 1、./configure: (1)通过选项传递参数,指定启用特性、安装路径等;执行时会参考用户的指定以及makefile.in文件生成makefile (2) 检查依赖到的外部环境,如依赖的软件…

    Linux干货 2016-11-27
  • 在CentOS 6上编译安装LAMP

    在CentOS 6上编译安装LAMP     在生产中如果需要使用较新的服务,而系统提供的rpm包又较老时该怎么办呢?其实应用程序的安装方式有多种,如:使用系统发行商提供rpm包或者下载源码包手动编译安装也是可以的。今天我们编译的服务不是一个单独的而是一套。这套黄金搭档从诞生之初到现在已经经过无数用户的验证,各大电商站点、门户网站、以及各…

    Linux干货 2017-04-23
  • linux使用yum对程序包管理相关知识

     yum客户端:          配置文件:              /etc/yum.conf: 为所有仓库提供公共配置              /et…

    Linux干货 2017-01-02
  • 三次握手,四次挥手

    TCP/IP协议的详细信息参看《TCP/IP协议详解》三卷本。 在谈及TCP建立连接和释放连接过程,先来简单认识一下TCP报文段首部格式的的几个名词(这里只是简单说明,具体请查看相关教程)下面是TCP报文格式图:     序列号seq:占4个字节,用来标记数据段的顺序,TCP把连接中发送的所有数据字节都编上一个序号,第一个字节的…

    2017-09-03
  • 09yum的使用以及简单配置

    YUM: yellowdog update modifier ,rpm的前端程序,用来解决软件包相关依赖性,可以在多个库之间定位软件包。 yum repository:yum repo,存储了众多RPM包,以及包相关的元数据文件,放置于特定目录repodata下。 yum 访问的文件服务器主要有三种,ftp,http,file。 yum客户端配置文件: 【/…

    Linux干货 2016-11-04
  • Ansible(From Wikipedia)

           Ansible 是一个免费的用于配置和管理计算机的的软件平台。它集成了软件部署,ad hoc任务执行,和管理配置的功能。它依赖Python2.4之后的版本和通过SSH或者PowerShell管理节点。模块工作在JSON格式,输出信息可以被任何编程语言再次编写。系统管理员可以使用YAML…

    Linux干货 2015-11-18