流式响应(Streaming Response)中途断开:网络长连接超时与心跳保活
打字机效果吐字到一半连接断开?全面排查 Nginx 代理反向缓冲、SSE 长连接超时与 TCP Keepalive 心跳配置,保障流畅交互。
一、流式长连接的脆弱性
Server-Sent Events(SSE)打字机流式输出依赖于客户端与服务器保持一条持续不断的长 TCP 连接。
若中间经过了 Nginx 或反向代理服务器,默认的代理超时(Proxy Read Timeout 通常为 60s)容易在模型深度思考时触发超时斩断。
二、Nginx 关键配置指令
在代理配置块中必须追加以下指令:
proxy_buffering off;
proxy_cache off;
proxy_read_timeout 300s;
proxy_set_header Connection '';
彻底关闭反向缓冲,确保每一个生成的字符块毫无阻碍地瞬时推送至前端浏览器。