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到服务器的连接就能断开了,客户端从缓冲区拉取即可。
参考解决办法:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
2018-10-16 开源项目之架构分享