
1、報(bào)錯(cuò)含義ERR_INCOMPLETE_CHUNKED_ENCODING分塊傳輸編碼不完整服務(wù)端用Transfer-Encoding: chunked流式返回?cái)?shù)據(jù)但連接中途被強(qiáng)制斷開(kāi)瀏覽器沒(méi)收到完整數(shù)據(jù)塊接口直接失敗。2、常見(jiàn)根因按排查優(yōu)先級(jí)排序1. 后端服務(wù)異常最高概率接口代碼拋異常崩潰findEnum/ loginMenu內(nèi)部邏輯報(bào)錯(cuò)空指針、SQL 超時(shí)、循環(huán)死鎖、OOM 內(nèi)存溢出服務(wù)進(jìn)程 / 線程直接中斷 TCP 連接沒(méi)輸出結(jié)束 chunk 標(biāo)識(shí)。接口執(zhí)行超時(shí)數(shù)據(jù)庫(kù)查詢慢、大量枚舉 / 菜單數(shù)據(jù)一次性加載耗時(shí)過(guò)長(zhǎng)Nginx、Tomcat、SpringBoot 超時(shí)閾值太短默認(rèn) 60s/30s網(wǎng)關(guān)主動(dòng)切斷長(zhǎng)請(qǐng)求服務(wù)內(nèi)存 / CPU 打滿JVM 堆溢出、服務(wù)器 CPU100%無(wú)法完成數(shù)據(jù)輸出強(qiáng)制斷連。2. 反向代理 / Nginx 配置問(wèn)題Nginxproxy_buffer緩沖區(qū)過(guò)小大報(bào)文溢出直接斷流proxy_read_timeout、proxy_send_timeout超時(shí)時(shí)間太短開(kāi)啟 gzipchunked 沖突、代理轉(zhuǎn)發(fā)時(shí)未完整透?jìng)髁鲾?shù)據(jù)。3. 前端請(qǐng)求層面前端主動(dòng)取消請(qǐng)求頁(yè)面切換、路由跳轉(zhuǎn)、組件銷毀時(shí)axios.cancelToken中斷請(qǐng)求并發(fā)請(qǐng)求過(guò)多瀏覽器 / 服務(wù)端限流丟棄連接本地網(wǎng)絡(luò)波動(dòng)、VPN / 代理軟件中斷 TCP 鏈路。4. 服務(wù)器 / 網(wǎng)絡(luò)層防火墻、安全組、WAF 攔截長(zhǎng)連接認(rèn)為流量異常主動(dòng)斷開(kāi) 容器Docker/K8s資源限制OOM kill 掉服務(wù)進(jìn)程。3、快速臨時(shí)驗(yàn)證手段Postman 直接調(diào)用接口繞過(guò)前端單獨(dú)請(qǐng)求報(bào)錯(cuò)接口如果 Postman 也報(bào)錯(cuò) → 后端 / 網(wǎng)關(guān)問(wèn)題如果 Postman 正常、僅瀏覽器報(bào)錯(cuò) → 前端主動(dòng)取消或?yàn)g覽器網(wǎng)絡(luò)限制。簡(jiǎn)化接口返回臨時(shí)讓接口只返回少量測(cè)試數(shù)據(jù)若不再報(bào)錯(cuò)證明是數(shù)據(jù)量大 / 執(zhí)行慢導(dǎo)致。4、NGINX解決方案修改點(diǎn)報(bào)錯(cuò)本質(zhì)chunked 流式響應(yīng)被中途切斷分兩類配置要改超時(shí)時(shí)間讀取后端數(shù)據(jù)、轉(zhuǎn)發(fā)超時(shí)拉長(zhǎng)代理緩沖區(qū)大 json / 菜單枚舉數(shù)據(jù)緩沖不足修改配置業(yè)務(wù)反向代理一般寫(xiě)在conf.d/你的項(xiàng)目.conf里。找到類似下面的location代理后端服務(wù)的代碼塊所有修改寫(xiě)在location / { ... }內(nèi)部。location / { proxy_pass http://127.0.0.1:8080; # 你的后端地址不要改 # 新增/修改以下所有配置 # 連接后端超時(shí) proxy_connect_timeout 300s; # 從后端讀取響應(yīng)超時(shí)關(guān)鍵菜單/枚舉加載慢就調(diào)大 proxy_read_timeout 300s; # 向后端發(fā)送請(qǐng)求超時(shí) proxy_send_timeout 300s; # 調(diào)大緩沖區(qū)解決大json chunk截?cái)?proxy_buffer_size 256k; proxy_buffers 8 128k; proxy_busy_buffers_size 256k; # 關(guān)閉緩沖強(qiáng)制流式完整輸出chunked專用 proxy_cache off; proxy_buffering off; # 透?jìng)髡鎸?shí)請(qǐng)求頭保留原有 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;