Service: Node.js app
Domain: app.marsiq.ch
Problem:
AI chat uses SSE streaming. Connections die at exactly ~10 seconds every time with ERR_CONNECTION_CLOSED.
Server logs show:
What I've configured in L7 HTTP Balancer:
Buffer responses from proxied server: OFF
Buffer client request body: Default (off)
Timeout reading from proxied: 120s
Timeout transmitting to proxied: 120s
Timeout transmitting to client: 120s
gzip: OFF
Weird behavior:
Before a service restart, connections survived ~20 seconds (so L7 changes partially worked). After restart it moved from node-id-38 → node-id-39, and now it's back to dying at 10 seconds.
Server-side setup:
Sending SSE keepalive (: keepalive\n\n) every 500ms
Keepalives visible in logs: [SSE] Keepalive #10 at 5s, #20 at 10s
Express timeouts: 300s socket, 65s keep-alive
Questions:
Is there a Core (L3) Balancer timeout overriding L7 settings?
Do L7 config changes need a specific reload step to apply to all nodes?
Any SSE-specific config I'm missing?