Potential issues with public networking
abharga2
PROOP

17 days ago

I'm having some issues where at random times (could be 5 seconds after a request, could be 5 minutes), the connection breaks and the chat stream in our application stops. The connection was happening over public network, and I switched it to use private network (had to duplicate a service in a different project) and it started working much better. Any ideas why this might be happening?

$20 Bounty

1 Replies

Status changed to Awaiting Railway Response Railway • 17 days ago


Railway
BOT

17 days ago

This thread has been opened as a bounty so the community can help solve it.

Status changed to Open Railway • 17 days ago


tbmstbms857-wq
HOBBY

17 days ago

if you must keep services on public networking, apply these two fixes in your streaming service:

  1. Send Keep-Alive Ping Comments Every 15–30 Seconds

If using Server-Sent Events (SSE) or HTTP chunked streaming, periodically flush dummy comment frames to prevent intermediate proxies from timing out:

JavaScript

// Example for Express / Node.js SSE stream

const keepAliveInterval = setInterval(() => {

res.write(': keep-alive\n\n'); // SSE comment frame ignored by client UI

}, 15000);

req.on('close', () => clearInterval(keepAliveInterval));

  1. Disable Response Buffering Headers

Force edge proxies and Cloudflare not to buffer stream responses:

HTTP

X-Accel-Buffering: no

Cache-Control: no-cache, no-transform

Content-Type: text/event-stream

Connection: keep-alive

Recommended Setup on Railway

For backend-to-backend long-lived connections or streaming pipelines, using Private Networking is the best architectural practice on Railway because it provides lower latency, zero edge proxy timeouts, and better overall stability.


Welcome!

Sign in to your Railway account to join the conversation.

Loading...