SSE Streaming broken through Zscaler VPN proxy (v0.8.2-rc1 / v0.8.3-rc1) #12038
Replies: 1 comment
-
|
Thanks for the detailed report. The root cause is likely the new Resumable Streams architecture. What Changed: In v0.8.2-rc1, streaming was a single SSE connection: the POST to /api/agents/chat returned the SSE stream directly in the response body. In v0.8.3-rc1, streaming now uses a two-phase connection pattern:
This is what's likely breaking with Zscaler. Your SSL-inspecting proxy may be:
What to Try If your ALB or proxy config was doing any path-based routing or special SSE handling for /api/agents/chat, you'll need to also allowlist/configure the new streaming endpoint: /api/agents/chat/stream/* Specifically, ensure your proxy/ALB:
If Zscaler has an SSL inspection bypass list, adding the streaming endpoint pattern may also help. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Description
Since upgrading to v0.8.2-rc1 / v0.8.3-rc1, SSE (Server-Sent Events) streaming no longer works
when traffic passes through a Zscaler VPN (or any SSL-inspecting corporate proxy).
The chat response never renders at all (timeout/broken stream), the response can still be get when it finished and user reload the page
This was working correctly on the version v0.8.2-rc1.
Environment
Steps to Reproduce
Expected Behavior
Tokens stream progressively in real-time as they are generated by the LLM.
Actual Behavior
The response is buffered and only appears all at once after full generation (or the stream
times out entirely). The same setup works correctly when Zscaler is bypassed or disabled.
Root Cause Analysis
Zscaler acts as a TLS MITM proxy and buffers SSE chunks before forwarding them to the
client. This breaks the incremental nature of SSE streaming.
This may be aggravated in v0.8.3-rc1 if the streaming implementation changed (stricter SSE
handling, new endpoints, HTTP/2 usage, or MCP SSE client changes) making it less tolerant
of intermediary buffering compared to previous versions.
Beta Was this translation helpful? Give feedback.
All reactions