自己写的流式接口,本地正常,上了 nginx 之后客户端收到一半就断。
需要改动:
- proxy_buffering off; 不关的话 nginx 会攒着发,看着像卡住
- proxy_read_timeout 加大,默认 60 秒,长任务会超时
- proxy_http_version 1.1 配合 Connection \"\",不用 1.0 的 keep-alive
另外 gzip 要关,对 text/event-stream 不能压缩,会破坏分块。
如果前面还有 CDN:Cloudflare 默认 100 秒超时,而且会缓冲。要么绕开 CDN,要么用它的 Stream 产品。
排查方法:curl -N 看是否逐块到达。一次全出来就是被缓冲了。
主楼- 暂无回复
继续逛逛