起因说明:
因业务要求,客户需要对以往客户进行阶段性做客户挖掘分析,分析内容包含,客户消费记录、消费内容、客户基本信息情况等行为操作进行分析,客户要求的前端展现行为分析方式是一个页面尽量展现越多的数据越好,因浏览器容量问题,最终跟客户协商一个页面展现2000行记录,四十个字段,而且展现的字段内容有问题反馈等文字描述性的内容,然后对该内容在进行更新提交给服务器,然后在查看更新结果,因提交和展现的页面数据容量偏大,最终导致无法展现相关信息,导致页面报:413 Request Entity Too Large错误信息,
,如下:
对应部分截取SQL语法如下:
而此问题在我们测试环境下不会出现,因我们本地测试环境是直接访问tomcat,而生产环境通过nginx 然后集群分发访问不同的tomcat,那问题就是出在nginx配置问题。
问题分析:
因为业务客户端请求是走HTTP的post方法提交数据,而提交请求数据nginx是有限制客户端请求主体大小,“content-length”,如果超过了设定值,则客户端会收到报错 413 Request Entity Too Large,导致前端浏览器不能正常显示数据。
因我们前端展现的条目最大2000笔,字段40个,故设置如下大小,最终解决问题:
client_max_body_size 20m;
备注:client_max_body_size 默认 1M,将大小设置为0表示将禁用检查客户端请求正文大小,根据实际业务要求而设定大小。
原文地址:https://blog.51cto.com/372550/2400329
时间: 2024-10-07 03:42:25