Day|Day 62/100 NET::ERR_INCOMPLETE_CHUNKED_ENCODING 200 (OK)

(一)需求 部署到新服务器的时候,有一个接口返回200,但是就是无法正常显示。
排查了很久这里记录下~
(二)问题及说明 1、HTTP返回的错误信息

NET::ERR_INCOMPLETE_CHUNKED_ENCODING 200 (OK)

2、可能的错误原因分析:
  1. nginx配置缓存区设置过小
  2. nginx的临时目录(/proxy_temp)过大或没有权限写入缓存文件
  3. 磁盘空间不足
最终,发现是nginx的缓冲区(Proxy Buffer)设置较小。
导出的内容缓存了,但缓存的不完整,而请求的时候拿到的是缓存的内容;流不完整,所以无法完整加载。
3、配置如下:
location /forecast { proxy_pass http://127.0.0.1:9999/; proxy_buffer_size 1024k; proxy_buffers 16 1024k; proxy_busy_buffers_size 2048k; proxy_temp_file_write_size 2048k; }

(三)nginx的缓冲区作用是什么?
如果客户端到nginx速度快,nginx到服务器速度慢,没有缓冲区,一点点数据量就直接发到客户端,十分浪费性能。
有了缓冲区,积累到一定量,再传输到客户端,减少了Tcp请求。
相反,客户端到nginx速度慢,nginx到服务器速度快,没有缓冲区,
nginx到服务器的连接就会一直保持在那边,直到客户端接受完毕。
有了缓冲区,返回内容放到缓冲区后,nginx到服务器的连接就能断开了,客户端从缓冲区拉取即可。
以上
参考链接
http://nginx.org/en/docs/http...
写在最后的话
学习路上,常常会懈怠 【Day|Day 62/100 NET::ERR_INCOMPLETE_CHUNKED_ENCODING 200 (OK)】《有想学技术需要监督的同学嘛~》
https://mp.weixin.qq.com/s/Fy...

    推荐阅读