最近在处理项目问题的时候,遇到了有这么一个有趣的问题,不像其他的报错401、502、500 等,这直接报错了413,这在开发中是常见有不常见的一个状态码,代表着这在使用中有nginx上的问题。
1 nginx报错413
1.1 问题显示:
nginx 出现413 Request Entity Too Large
界面中添加了对应的图纸数据,点击保存,调用更新接口,数据中数据实体过多
1.2 问题排查
- 在网页出现错误的时候,首先就是查看请求日志,做问题复现
- 查询运行日志
1.3 原因
nginx在做代理时候,对实际的数据转发有默认的限制,限制大小为1mb,这个可以在配置文件中进行修改
1.4 解决办法
- 找到nginx配置文件 一般默认的路径是在
/etc/nginx/nginx.conf
- 使用vi或者vim命令打开文件进行修改 ,英文模式下,按住i键进入编辑模式
- 找到其中的http{}模块,模块中添加
client_max_body_size 20m;
,数字可以根据实际情况自定义,esc退出编辑,:wq
,退出保存数据 - 重启nginx ,
sudo systemctl restart nginx
1.5 附录
pgsql中查询数据大小:
SELECT id, DATA->>'name' AS filename , length(DATA::TEXT)/ 1024 AS leMB
FROM tablename
WHERE username= 'admin'
ORDER BY leMB DESC ;
修改参数:
结语
在遇到问题的时候,不着急,先看看报错日志,确定问题的位置,更好的能解决问题。
本文作者:redtea 红茶的博客
本文链接:https://redtea.top
版权声明:本文采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可,非商业转载及引用请注明出处(作者、原文链接),商业转载请联系作者获得授权。