博主介绍:✌全网粉丝22W+,CSDN博客专家、Java领域优质创作者,掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域✌
技术范围:SpringBoot、SpringCloud、Vue、SSM、HTML、Nodejs、Python、MySQL、PostgreSQL、大数据、物联网、机器学习等设计与开发。
感兴趣的可以先关注收藏起来,在工作中、生活上等遇到相关问题都可以给我留言咨询,希望帮助更多的人。
生产环境 net :: ERR_INCOMPLETE_CHUNKED_ENCODING的问题修复
- 一、背景描述
- 二、问题复现
- 三、问题原因
- 四、解决方案
- 4.1 解决方案一
- 4.2 解决方案二
- 4.3 解决方案三
- 五、拓展:生产环境产生 `proxy_temp`
一、背景描述
新系统上线一个月后,生产环境浏览端报网络错误,请稍后重试,由于是偶发提示,不是必现的,而且不影响业务系统正常使用,优先级不高,所以就没有在发现的第一时间排查、修复,项目正常迭代后,决定去看下具体什么情况。
二、问题复现
ERR_INCOMPLETE_CHUNKED_ENCODING
,熟悉的味道,原来的配方,这个问题再次出现,F12查看请求,发现接口无任何返回,接口状态显示 (failed) net::ERR_INCOMPLETE_CHUNKED_ENCODING
。如下图所示:
三、问题原因
出现上述问题的原因可能有以下几个,大家可以逐个排查:
- 磁盘空间不足;
nginx
配置缓冲区设置过小;nginx
的临时目录(/proxy_temp
)没有权限写入缓存文件;
四、解决方案
关于解决方案,不同的原因有不同的解决方法,所以根据上述的原因有以下几种对应的方法:
4.1 解决方案一
此方案是针对上述问题原因中第一个原因的解决方法,对于磁盘空间被占满,有两种方法可以使用。
第一:可以清理磁盘文件,具体的可以把不使用的文件或者日志清除即可。
第二:新增磁盘空间,使磁盘空间变大。
4.2 解决方案二
此方案是针对上述问题原因中第二个原因的解决方法,在nginx.conf
中的对应的反向代理配置
中调整缓冲区大小。
生产nginx.conf
配置修改
location /frontProxy/ {proxy_pass http://xx.xx.xx.xxx:8088/; # 新增如下proxy_buffer_size 1024k;proxy_buffers 16 1024k;proxy_busy_buffers_size 2048k;proxy_temp_file_write_size 2048k;
}
4.3 解决方案三
此方案是针对上述问题原因中第三个原因的解决方法,proxy_temp
文件权限分析
目录权限
nginx.conf
文件分析
# user nginx; 权限调整
user root;
测试环境文件分析
-
user root
产生的proxy_temp
所属的用户权限也是root
; -
如上文所示
nginx
用户是没有权限写入临时文件的; -
调整
user nginx --> user root
- 由于测试环境数据大小并未超限,所以未生成
proxy_temp
文件;
- 由于测试环境数据大小并未超限,所以未生成
五、拓展:生产环境产生 proxy_temp
- 部分请求失效,是缓冲区大小导致的,修改方案见上文;
好了,今天分享到这里。希望你喜欢这次的探索之旅!不要忘记 “点赞” 和 “关注” 哦,我们下次见!🎈
本文完结!
祝各位大佬和小伙伴身体健康,万事如意,发财暴富,扫下方二维码与我一起交流!!!