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

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

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

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

时间: 2024-12-19 16:06:06

运维挖坑埋坑之旅----413 Request Entity Too Large的相关文章

Nginx 出现413 Request Entity Too Large得解决方法

Nginx 出现413 Request Entity Too Large得解决方法 默认情况下使用nginx反向代理上传超过2MB的文件,会报错413 Request Entity Too Large ,修改或增加配置client_max_body_size值即可: nginx默认上传文件的大小是1M 解决方法: 打开/usr/local/etc/nginx/nginx.conf,找到 http { -- } 在里面加入 client_max_body_size 4m; 如: http { --

nginx、Apache、IIS中413 Request Entity Too Large问题解决方法

分享下nginx.Apache.IIS三种服务器解决413 Request Entity Too Large问题的方法. 一.nginx服务器 nginx出现这个问题的原因是请求实体太长了.一般出现种情况是Post请求时Body内容Post的数据太大了,如上传大文件过大.POST数据比较多. 处理方法在nginx.conf增加 client_max_body_size的相关设置, 这个值默认是1m,可以增加到8m以增加提高文件大小限制:当然可以设置的更大点.# 在http,server或者loc

Nginx出现413 Request Entity Too Large错误解决方法

Nginx出现的413 Request Entity Too Large错误,这个错误一般在上传文件的时候出现,打开nginx主配置文件nginx.conf,找到http{}段,添加 解决方法就是 打开nginx主配置文件nginx.conf,一般在/usr/local/nginx/conf/nginx.conf这个位置,找到http{}段,修改或者添加  代码如下 复制代码 client_max_body_size 2m; 然后重启nginx,  代码如下 复制代码 sudo /etc/ini

Nginx出现“413 Request Entity Too Large”错误解决方法

今天使用phpmyadmin的导入功能的时候,由于sql文件过大,服务器出现错误提示了,413 Request Entity Too Large,google了一下,发现是Nginx的错误提示.  解决方法:打开nginx主配置文件nginx.conf,找到http{}段,添加 client_max_body_size 100m; fedora下 vi /etc/nginx/nginx.conf  重启NGINX   sudo /etc/init.d/nginx restart 恢复正常

nginx 问题 413 Request Entity Too Large的解决方法

上传图片出现Nginx出现"413 Request Entity Too Large"错误解决方法 看了一下nginx.conf发现没有设置client_max_body_size,这个参数默认只是1M,也就是说发布的文章内容大小不能超过1M 解决方法:打开nginx主配置文件nginx.conf,找到http{}段,添加 client_max_body_size 20m;

Nginx &nbsp; 413 Request Entity Too Large

在上传时nginx返回了413错误,查看log文件,显示的错误信息是:"413 Request Entity Too Large", 需要做以下设 置: 打开nginx主配置文件nginx.conf,找到http{}段,增加 client_max_body_size的相关设置, 这个值默认是1m,可以增加到3m以增加提高文件大小限制: client_max_body_size     3m;       client_body_buffer_size  128k;       prox

WCF错误:413 Request Entity Too Large

在我们用WCF传输数据的时候,如果启用默认配置,传输的数据量过大,经常会出这个错误. WCF包含服务端与客户端,所以这个错误可能出现在服务端返回数据给客户端,或客户端传数据给服务端时. 1. 服务端返回数据给客户端报错 在客户端配置文件中,主要是配置maxReceivedMessageSize <system.serviceModel> <bindings> <basicHttpBinding> <binding name="ServiceProxyBi

“413 Request Entity Too Large” 错误解决

错误现象"nginx 413 when uploading file 1mb or larger": 原来跑的好好的程序,使用nginx做代理后,上传大于1M 的文件提交表单时就请求不到后台方法了,一开始还以为是自己程序哪里出了问题,各种折腾重新部署啥的调试了大半天,还是不行,后来用chrome的F12查看network才发现是"413 Request Entity Too Large" 这么个错误,如图: 随后便google之,发现nginx默认限制了最大上传文件

Nginx出现413 Request Entity Too Large错误

一. 问题出现 使用phpMyAdmin管理mysql数据,使用图形界面导入sql语句时报错,报错内容如下: 二. 问题原因 出现了413错误,413错误是因为用户请求body的数据大于设置的值.用户请求的body的值可用Content-Length看到 可以看到请求的body大小大于6M,通过查看Nginx官网可知默认request body为1M,而设置request body的参数为client_max_body_size 三. 解决问题的方法 修改client_max_body_size