一、问题由来
服务器中添加SSL证书后,登录后台管理系统进行操作,上传一张图片2M多,报标题中的错误。很是奇怪,怎么会报这个错呢?
二、问题分析
从报的错误信息来看,简单理解就是请求的数据包太大,不能进行传递数据。自己猜测可能是nginx配置存在问题,因为在本地测试
的时候没有问题,部署到测试环境就不行。
三、解决方案
去百度里面搜索了一下答案,
https://www.cnblogs.com/personblog/p/11751020.html
这篇博文提供一个思路,设置nginx中client_max_body_size值,client_max_body_size 20M。
然后看另外一篇博文
https://www.cnblogs.com/walkersss/p/13935873.html
参考文章三
https://blog.csdn.net/maisiji_cn/article/details/82904950
可以选择在http{ }中设置:client_max_body_size 20m;
也可以选择在server{ }中设置:client_max_body_size 20m;
还可以选择在location{ }中设置:client_max_body_size 20m;
三者到区别是:http{} 中控制着所有nginx收到的请求。而报文大小限制设置在server{}中,则控制该server收到的请求报文大小,同理,如果配置在location中,则报文大小限制,只对匹配了location 路由规则的请求生效。