Nginx配置,413 Request Entity Too Large错误解决
今天有同事找我,说图片上传之后,不知道去哪里了。分析了一下问题,找到原因之后做了处理,这里简要记录一下。
问题原因:
1.首先后台log并无错误信息;
2.捡查了一下浏览器,发现network中有报错,413 Request Entity Too Large,但前台未报错。
解决办法:
1.备份Nginx配置文件;(个人习惯,免得修改之后,如果需要还原,忘记原来的配置)
2.查看当前Nginx配置文件:
[root@VM_0_16_centos nginx]# cat nginx.conf | grep client_max_body_size
client_max_body_size 10m;
client_max_body_size 10m;
client_max_body_size 10m;
client_max_body_size 10m;
client_max_body_size 10m;
client_max_body_size 10m;
client_max_body_size 10m;
client_max_body_size 10m;
结果发现涉及到很多项目,继续查询
cat /etc/nginx/nginx.conf | grep -C client_max_body_size
得到结果如下:
[root@VM_0_16_centos nginx]# cat /etc/nginx/nginx.conf | grep -C client_max_body_size
# Load configuration files for the default server block.
#include /etc/nginx/default.d/*.conf; location ^~ /b1/ {
proxy_pass http://b1_server/;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header Connection close;
proxy_connect_timeout 5000ms;
# client_max_body_size 10m; access_log /logs/nginx/access_api_b1.log main;
error_log /logs/nginx/error_api_b1.log info;
} location ^~ /bn/ {
proxy_pass http://bn_server/;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header Connection close;
proxy_connect_timeout 5000ms;
# client_max_body_size 10m; access_log /logs/nginx/access_api_bn.log main;
error_log /logs/nginx/error_api_bn.log info;
} # 由于boss程序中web路径已经带/boss前缀,所以proxy_pass不能带/后缀,后续再调整,切记切记!
location ^~ /boss/ {
proxy_pass http://boss_server;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header Connection close;
proxy_connect_timeout 5000ms;
# client_max_body_size 10m; access_log /logs/nginx/access_api_boss.log main;
error_log /logs/nginx/error_api_boss.log info;
} location ^~ /detector/ {
proxy_pass http://detector_server/;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header Connection close;
proxy_connect_timeout 5000ms;
client_max_body_size 10m; access_log /logs/nginx/access_api_detector.log main;
error_log /logs/nginx/error_api_detector.log info;
} location ^~ /sales/ {
proxy_pass http://sales_server/;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header Connection close;
proxy_connect_timeout 5000ms;
# client_max_body_size 10m; access_log /logs/nginx/access_api_sales.log main;
error_log /logs/nginx/error_api_sales.log info;
} location ^~ /qn/prv/ {
proxy_pass http://private.haochuang.cn/;
} location ^~ /qn/pub/ {
--
error_log /logs/nginx/error_admin_boss.log info;
} location ^~ /boss/ {
proxy_pass http://boss_server;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header Connection close;
proxy_connect_timeout 5000ms;
# client_max_body_size 10m; access_log /logs/nginx/access_api_boss.log main;
error_log /logs/nginx/error_api_boss.log info;
} location ^~ /stats/ {
proxy_pass http://stats_server;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header Connection close;
proxy_connect_timeout 5000ms;
client_max_body_size 10m; access_log /logs/nginx/access_api_stats.log main;
error_log /logs/nginx/error_api_stats.log info;
} location ^~ /qn/prv/ {
proxy_pass http://private.haochuang.cn/;
}
3.修改配置文件:
location / {
root html;
index index.html index.htm;
client_max_body_size 1000m;
}
修改client_max_body_size 配置:
server
{
listen ;
server_name chat.erp.360buy.com;
#access_log /export/servers/nginx/logs/chat.erp.360buy.com;
location / {
proxy_pass http://tomcat;
client_max_body_size 10m; #表示最大上传10M,需要多大设置多大。
} }
3.重新加载配置文件,并重新加载nginx:
[root@VM_0_16_centos nginx]# /usr/sbin/nginx -c /etc/nginx/nginx.conf
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:443 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:443 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:443 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:443 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:443 failed (98: Address already in use)
nginx: [emerg] still could not bind()
[root@VM_0_16_centos nginx]# /usr/sbin/nginx -s reload
4.如果还未生效,重启nginx:
[root@VM_0_16_centos nginx]# /usr/sbin/nginx -s reload
[root@VM_0_16_centos nginx]# service nginx restart
Redirecting to /bin/systemctl restart nginx.service
5.再次验证结果,结果可见,最终问题已解决。
/usr/local/nginx/sbin/nginx -t
2.重新加载nginx,nginx相关参数
[root@VM_0_16_centos nginx]# which nginx
/usr/sbin/nginx
[root@VM_0_16_centos nginx]# /usr/sbin/nginx -h
nginx version: nginx/1.12.2
Usage: nginx [-?hvVtTq] [-s signal] [-c filename] [-p prefix] [-g directives]
Options:
-?,-h : this help
-v : show version and exit
-V : show version and configure options then exit
-t : test configuration and exit
-T : test configuration, dump it and exit
-q : suppress non-error messages during configuration testing
-s signal : send signal to a master process: stop, quit, reopen, reload
-p prefix : set prefix path (default: /usr/share/nginx/)
-c filename : set configuration file (default: /etc/nginx/nginx.conf)
-g directives : set global directives out of configuration file
...
Nginx配置,413 Request Entity Too Large错误解决的更多相关文章
- Nginx出现“413 Request Entity Too Large”错误解决方法
Nginx出现“413 Request Entity Too Large”错误解决方法 2011-03-25 13:49:55| 分类: 默认分类 | 标签:413 request entit ...
- 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反向代理上传超过2MB的文件,会报错413 Request Entity Too Large ...
- nginx解决超长请求串(413 request Entity too Large错误解决办法)
<div class="hide-article-box text-center" style="display: block;"> <a c ...
- 上传文件报413 Request Entity Too Large错误解决办法
产生这种原因是因为服务器限制了上传大小 1.nginx服务器的解决办法 修改nginx.conf的值就可以解决了 将以下代码粘贴到nginx.conf内 client_max_body_size 20 ...
- Nginx:413 Request Entity Too Large解决
最近在做给博客添加上传PDF的功能,但是在测试上传文件的过程中遇到了413 Request Entity Too Large错误.不过这个无错误是很好解决的,这个错误的出现是因为上传的文件大小超过了N ...
- nginx 出现413 Request Entity Too Large问题的解决方法
nginx 出现413 Request Entity Too Large问题的解决方法 使用php上传图片(大小1.9M),出现 nginx: 413 Request Entity Too Large ...
- wordpress 主题安装 您点击的链接已过期 nginx 出现413 Request Entity Too Large
1 nginx 出现413 Request Entity Too Large 问题是限制上传大小,解决: 1.打开nginx配置文件 nginx.conf, 路径一般是:/etc/nginx/ngin ...
随机推荐
- 052 kafka对topic的增删改查操作
一:create 1.开始使用命令 2.创建 bin/kafka-topics.sh --create --topic beifeng --zookeeper linux-hadoop01.ibeif ...
- Git branch 出现"HEAD detached at head xxxxx"
Git branch 出现"HEAD detached at head xxxxx" git branch <your-branch-name> xxxxx ...
- PyQt PySide QListWidget 添加自定义 widget
PyQt PySide QListWidget 添加自定义 widget 原文链接:https://stackoverflow.com/questions/25187444/pyqt-qlistwid ...
- dubbo spring bean id冲突
service-security-provider应用有provider和consumer配置文件 其中secutrity-consumer引用两个服务 <dubbo:reference int ...
- POJ 2531-Network Saboteur(dfs)
题目链接:https://vjudge.net/problem/POJ-2531 最大流-最小割问题: https://wenku.baidu.com/view/54323c030722192e453 ...
- Django项目中使用Redis
Django项目中使用Redis DjangoRedis 1 redis Redis 是一个 key-value 存储系统,常用于缓存的存储.django-redis 基于 BSD 许可, 是一个使 ...
- mysql 数据库(二)数据库的基本操作
mysql 数据库(二)数据库的基本操作 用户管理,添加权限,创建,显示,使用数据库 1 显示数据库:show databases; 默认数据库: mysql - 用户权限相关数据 test - 用于 ...
- Jenkins不同job之间传递参数
有的时候不同job直接需要传递一个文件名或者路径,这个时候我们不需要传递文件实体,那这个路径如何传递呢?比如有如下两个项目,我想把A的工作目录传递给B,让B使用. A job配置 首先需要安装一个Pa ...
- 快速排序 [Qsort]
在做USACO1.4 等差数列的时候,我发现如果用结构体+sort就会超时,用二维数组+qsort就能AC,所以为了不忘记Quick Sort,我还是把代码贴出来以备以后要看吧. void qsort ...
- Windbg SOS 加载技巧(.net framwork 2.0)
1.打开windbg,加载dump.使用命令确定dump的clr版本:lm vm mscorwks 或者lm vm clr(!eeversion可以查看加载后的sos版本) 2.找到对应的mscorw ...