WebSocket connections dropping (1006) at variable intervals
leoyue06
HOBBYOP

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!

$10 Bounty

1 Replies

Railway
BOT

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


Anonymous
FREETop 10% Contributor

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.


Welcome!

Sign in to your Railway account to join the conversation.

Loading...