前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >nginx出现413 Request Entity Too Large的错误

nginx出现413 Request Entity Too Large的错误

作者头像
johnhuster的分享
发布2022-03-29 13:58:19
2.1K0
发布2022-03-29 13:58:19
举报
文章被收录于专栏:johnhuster

今天测试人员在上传较大的文件时出现413错误,如下图所示:

也许你会说,已经有那么多写这类的文章了,你再在这里写岂不是多余,我也看了类似的文章,我在这里写出我的经历就是因为我的经历跟别人不太一样,所以才在此板书,下面入主题:

知道这个问题的小伙伴多半知道如何解决“常见的413”错误--在nginx的nginx.conf配置文件http部分增加下面配置client_max_body_size 1m(此处大小设置你想限制上传的文件大小,默认是1M,1.11版本及其以前版本多半是这个数值,不排除后期版本会不会修改);

我的经历不同之处在于:上面的设置对我来说没有一点效果!!我在本地测试时可以上传1M及其以上大小的文件,但是我在nginx.conf里面设置最大可上传大小为1M了啊,为什么没有效果呢,我研究了测试服务器上nginx的log日志,并对比了我自身电脑上nginx日志,发现了端倪:测试服务器在调用上传文件接口时会打印这条记录,但我自身电脑上却没有打印任何日志,于是我大胆的假设我在本自测上传文件时没有经过nginx,为什么会造成这种效果呢?

产生问题的根源就要分析nginx的反向代理功能了:

代码语言:javascript
复制
server {
 listen       80;
 server_name  xx.xx.com;
 proxy_set_header X-Real-IP $remote_addr;
 
 location ~ /services {
 proxy_pass      http://127.0.0.1:21888;
 } 
 
 location ~ /{
 proxy_pass      http://127.0.0.1:8897;
 }
 }
 

server_name填写的是域名,但是我在使用jquery.file.upload插件上传文件时使用的是ip,这样就会导致调用接口时没有经过nginx,所以nginx的设置也就没有任何效果了。

解决方案:把上传文件处写的ip改成域名,并在本地的hosts文件中将该域名映射为127.0.0.1,然后再在nginx.conf文件里面添加上面的反向代理部分即可。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2016/12/01 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
测试服务
测试服务 WeTest 包括标准兼容测试、专家兼容测试、手游安全测试、远程调试等多款产品,服务于海量腾讯精品游戏,涵盖兼容测试、压力测试、性能测试、安全测试、远程调试等多个方向,立体化安全防护体系,保卫您的信息安全。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档