ARTICLE DETAIL

资讯详情

深耕商务建站与企业官网运营的一线实战洞察。

net::ERR_INCOMPLETE_CHUNKED_ENCODING解决

net::ERR_INCOMPLETE_CHUNKED_ENCODING解决 1、报错含义ERR_INCOMPLETE_CHUNKED_ENCODING分块传输编码不完整服务端用Transfer-Encoding: chunked流式返回数据但连接中途被强制断开浏览器没收到完整数据块接口直接失败。2、常见根因按排查优先级排序1. 后端服务异常最高概率接口代码抛异常崩溃findEnum/ loginMenu内部逻辑报错空指针、SQL 超时、循环死锁、OOM 内存溢出服务进程 / 线程直接中断 TCP 连接没输出结束 chunk 标识。接口执行超时数据库查询慢、大量枚举 / 菜单数据一次性加载耗时过长Nginx、Tomcat、SpringBoot 超时阈值太短默认 60s/30s网关主动切断长请求服务内存 / CPU 打满JVM 堆溢出、服务器 CPU100%无法完成数据输出强制断连。2. 反向代理 / Nginx 配置问题Nginxproxy_buffer缓冲区过小大报文溢出直接断流proxy_read_timeout、proxy_send_timeout超时时间太短开启 gzipchunked 冲突、代理转发时未完整透传流数据。3. 前端请求层面前端主动取消请求页面切换、路由跳转、组件销毁时axios.cancelToken中断请求并发请求过多浏览器 / 服务端限流丢弃连接本地网络波动、VPN / 代理软件中断 TCP 链路。4. 服务器 / 网络层防火墙、安全组、WAF 拦截长连接认为流量异常主动断开 容器Docker/K8s资源限制OOM kill 掉服务进程。3、快速临时验证手段Postman 直接调用接口绕过前端单独请求报错接口如果 Postman 也报错 → 后端 / 网关问题如果 Postman 正常、仅浏览器报错 → 前端主动取消或浏览器网络限制。简化接口返回临时让接口只返回少量测试数据若不再报错证明是数据量大 / 执行慢导致。4、NGINX解决方案修改点报错本质chunked 流式响应被中途切断分两类配置要改超时时间读取后端数据、转发超时拉长代理缓冲区大 json / 菜单枚举数据缓冲不足修改配置业务反向代理一般写在conf.d/你的项目.conf里。找到类似下面的location代理后端服务的代码块所有修改写在location / { ... }内部。location / { proxy_pass http://127.0.0.1:8080; # 你的后端地址不要改 # 新增/修改以下所有配置 # 连接后端超时 proxy_connect_timeout 300s; # 从后端读取响应超时关键菜单/枚举加载慢就调大 proxy_read_timeout 300s; # 向后端发送请求超时 proxy_send_timeout 300s; # 调大缓冲区解决大json chunk截断 proxy_buffer_size 256k; proxy_buffers 8 128k; proxy_busy_buffers_size 256k; # 关闭缓冲强制流式完整输出chunked专用 proxy_cache off; proxy_buffering off; # 透传真实请求头保留原有 proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; }最小配置proxy_read_timeout 300s; proxy_buffer_size 256k; proxy_buffers 8 128k; proxy_buffering off;
返回列表
PREV
查看更多资讯
NEXT
返回资讯列表