NET::ERR_INCOMPLETE_CHUNKED_ENCODING 200 (OK)

错误信息:

NET::ERR_INCOMPLETE_CHUNKED_ENCODING 200 (OK)

错误背景:
微服务不通过统一的nginx端口访问,能够正常请求接口并获取对应的响应。
但是通过nginx的话,则出现请求通(也就是响应200),但始终没有得到正确的响应,提示上述错误 NET::ERR_INCOMPLETE_CHUNKED_ENCODING 200 (OK)。

解决办法:
在nginx中的对应的反向代理配置如下内容,即可解决:

proxy_buffer_size 1024k;
proxy_buffers 16 1024k;
proxy_busy_buffers_size 2048k;
proxy_temp_file_write_size 2048k;

我的反向代理完整配置:

复制代码
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;

}
复制代码

错误原因分析:
1.nginx配置缓存区设置过小
2.nginx的临时目录(/proxy_temp)过大或没有权限写入缓存文件
3.磁盘空间不足

经过验证是第一种原因(nginx配置缓冲区设置过小)

:nginx的缓冲区作用是什么?

:如果客户端到nginx速度快,nginx到服务器速度慢,没有缓冲区,一点点数据量就直接发到客户端,十分浪费性能。
有了缓冲区,积累到一定量,再传输到客户端,减少了Tcp请求。
相反,客户端到nginx速度慢,nginx到服务器速度快,没有缓冲区,
nginx到服务器的连接就会一直保持在那边,直到客户端接受完毕。
有了缓冲区,返回内容放到缓冲区后,nginx到服务器的连接就能断开了,客户端从缓冲区拉取即可。

参考解决办法:

NET::ERR_INCOMPLETE_CHUNKED_ENCODING 200 (OK)解决办法

缓冲区的作用

posted @   挑战者V  阅读(15144)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
历史上的今天:
2018-10-16 开源项目之架构分享
点击右上角即可分享
微信分享提示