Nginx解决错误413 Request Entity Too Large
最近一个项目当中,要求上传图片,并且限制图片大小,虽然在laravel当中已经添加了相关的表单验证来阻止文件过大的上传,然而当提交表单时,还没轮到laravel处理,nginx就先报错了。当你仔细看报错页面时,你会发现有nginx版本信息,经过分析,这报错是因为nginx的默认上传文件大小配置client_max_body_size只有2MB, 基于nginx验证比laravel验证要早,想要友好报错而不是直接显示413 Request Entity Too Large,那么就有三个思路去解决。
思路一:修改nginx配置
1、打开nginx主配置文件nginx.conf,一般在/usr/local/nginx/conf/nginx.conf这个位置,找到http{}段并修改以下内容:
当中的2m修改成你需要的允许文件大小。
- /usr/local/nginx/sbin/nginx -t
3、测试配置正确后,重启nginx使配置生效
- /etc/init.d/nginx restart
- post_max_size = 2M
- upload_max_filesize = 2M
当中的2m修改成你需要的允许文件大小。把当中的2m修改成你第一步设置的大小。
思路二:修改添加友好报错页面
- fastcgi_intercept_errors on;
3、nginx的网站conf配置中的server 定义区域加入:
- error_page 413 /413.htm;
(注意此处413与/413.htm之间不要用等号,否则返回状态码为200而不是413,同时尽量不要 http://www.xxx.com/404.html出错则会跳过该页面)
4、测试nginx配置是否正确
- /usr/local/nginx/sbin/nginx -t
5、如果上一步成功重启nginx
- /etc/init.d/nginx restart
思路三:表单提交之前先用JS判断并且阻止表单提交
- <form action="" method="post" enctype="multipart/form-data">
- <div class="form-group">
- <label for="picture">文章展示图片(800KB内):</label>
- <input id="picture" name="picture" type="file"/>
- </div>
- <button type="submit" id="submit" class="am-btn am-btn-success"><span class="am-icon-send"></span>
- 发布
- </button>
- </p>
- </form>
- $('#picture').bind('change', function () {
- if (this.files[0].size / 1024 / 1024 > 0.8){
- value = this.files[0].size/1024;
- alert('该文件大小是 ' + value .toFixed(0) + "KB,已超过大小限制,请修改!");
- document.getElementById("submit").disabled=true;
- document.getElementById("submit").innerHTML='非法图片内容';
- }else{
- alert('该文件可以提交!');
- document.getElementById("submit").disabled=false;
- document.getElementById("submit").innerHTML='提交';
- }
- });
http://blog.csdn.net/tim_phper/article/details/51992986
Nginx解决错误413 Request Entity Too Large的更多相关文章
- Nginx配置,413 Request Entity Too Large错误解决
今天有同事找我,说图片上传之后,不知道去哪里了.分析了一下问题,找到原因之后做了处理,这里简要记录一下. 问题原因: 1.首先后台log并无错误信息: 2.捡查了一下浏览器,发现network中有报错 ...
- nginx产生【413 request entity too large】错误的原因与解决方法
项目上在做上传文件(清单导入)的时候产生了这个错误: 从字面上看,说的是请求的实体太大的问题,那么可以联想到是HTTP请求中的Body大小被限制了的原因. Nginx中的[client_max_bod ...
- Nginx 报错413 Request Entity Too Large 上传文件过大
1.进入Nginx安装路径下的conf文件夹中(我的路径是:/usr/local/nginx/conf) 2.打开nginx.conf,在http大括号中第一行加语句:client_max_body_ ...
- jenkins错误413 Request Entity Too Large<
jenkins-nginx--sonar1/sonar2
- Nginx出现413 Request Entity Too Large错误解决方法
Nginx出现的413 Request Entity Too Large错误,这个错误一般在上传文件的时候出现,打开nginx主配置文件nginx.conf,找到http{}段,添加 解决方法就是 打 ...
- Nginx 出现413 Request Entity Too Large 错误解决方法(上传大小限制)
| 时间:2013-09-05 20:19:14 | 阅读数:485075 [导读] Nginx出现的413 Request Entity Too Large错误,这个错误一般在上传文件的时候出现,打 ...
- nginx 413 request entity too large解决办法
nginx 出现:413 request entity too large,一般是在上传图片的时候,上传的图片大小超过了服务器设置的最大上传大小,需要修改nginx和PHP的设置: (1)打开 /us ...
- 413 Request Entity Too Large
做小视频上传,结果接口总是返回500,服务器端跟踪,根本就进不来,再次翻查,发下服务器返回的其实是413,只不过APP底层接口将所有不是200的回包都转成500了,问题定位. 有了错误码,有了描述,字 ...
- .netcore 部署时遇到413 Request Entity Too Large 和 413Payload Too Large 的问题
.netcore3.1 遇到一个webapi 上传大文件问题 首先,在kestrel模式调试模式下上传 会报错413, 需要在三个地方添加 1.startup中 这里设置的2g最大值 2.在progr ...
随机推荐
- windows7下手工搭建Apache2.2 php5.3 Mysql5.5开发环境
Apache2.2(apache_2.2.2-win32-x86-no_ssl)php5.3.5(php-5.3.5-Win32-VC6-x86,请注意选择VC6版本,否则无法加载php5apache ...
- MySQL备份账号权限
grant select,show view,lock tables,trigger on confluence.* to 'DBbackup'@'127.0.0.1' identified by ' ...
- Plist文件与数据解析
综述 初步阶段当我们做个需要点数据的练习时(比如购物商品展示),我们可能是将数据直接写在代码中,比如说定义一个字符串数组或存放字典的数组.但这其实并不是一种合理的做法.因为如果当数据修改的时候,就要经 ...
- linux下firefox显示中文乱码的问题
只需要yum install "@Chinese Support" 然后注销,再登录一下,刷新浏览器就可以正常显示中文了,当然前提是浏览器的字符编码为utf-8以及默认显示中文,这 ...
- oracle中检索结果汉字首字母排序详解
今天写需求,要求将结果按照成本中心首字母排序,平且空放在最前面. 进入正题: 1.使用oracle自带的函数: 按照首字母排序:nlssort(xxx,'NLS_SORT=SCHINESE_PINYI ...
- linux查看cpu
#查看物理CPU个数 cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l #查看每个物理CPU中core的个数(即核数 ...
- QT 使用QSettings读写ini配置文件
利用Qsettings包一个类 RWIniFile, writeIni方法写文件, readIni方法读文件 rwinifile.h #ifndef RWINIFILE_H #define RWINI ...
- Django---model基础(单表)
ORM 一.映射关系: 表名<--------------->类名 字段<-------------->属性 表记录& ...
- CSS基础(滑动门,雪碧图,网页布局)
3.11.2017 这一篇主要是关于滑动门技术的学习,还有雪碧图(sprite),也就是精灵图,还有一点昨天的css可见性的回顾,下面先来回顾下吧 CSS可见性(元素可见性) overflow: hi ...
- 利用CocoaLumberjack框架+XcodeColors插件,调试输出有彩色的信息
效果如下: 步骤: 1. 安装Xcode插件:XcodeColors(方法请参考这里) 2. 为项目添加 CocoaLumberjack 框架(方法请参考这里) 3. 添加代码 (1) 为项目添加 p ...