a month ago
Hi Railway Support Team,
We’re experiencing abnormal WebSocket disconnects (close code 1006) at variable intervals (from 18 seconds up to 7+ minutes) on our real-time voice app.
Project: knova Service: bot Endpoint: wss://bot-production-1173.up.railway.app/pipecat
Our Node ws server (v8.21) remains perfectly healthy and the process is not restarting, so the drop appears to happen at the browser ↔ edge layer. This occurs despite: • Continuous upstream audio streaming from the client. • A 5-second app-level heartbeat. • perMessageDeflate being disabled on the server.
Your docs state WebSockets are "exempt from request timeouts," but our observations contradict this. Could you check the proxy logs for our endpoint and clarify:
Is there an edge/proxy timeout policy for WebSockets? If so, what exactly resets it (app data frames vs. WS ping/pong)?
Under what specific conditions does your edge drop a WebSocket with 1006?
What is the recommended keepalive mechanism and interval? (We tried 20s WS ping/pongs without success).
We have auto-reconnect implemented so this isn't completely blocking, but we'd like to understand the exact policy so we can tune our keepalive properly instead of guessing.
Thanks for your help!
1 Replies
a month ago
This thread has been opened as a bounty so the community can help solve it.
Status changed to Open Railway • about 1 month ago
13 days ago
Another Railway user reported identical 1006 closes with ws 8.21.
Changing region did not help so the failure sits in Railway's edge proxy.
Compare simultaneous clients and check whether the 1006 events land at the same moment.