Issue with Internal Railway Networking: Empty Response Body from .railway.internal Requests
arschettino
HOBBYOP

9 months ago

I’m experiencing an issue with internal requests to my Railway service:

white_check_mark emoji My service is a Node.js Express app listening on port 8080 (bound to ::).
white_check_mark emoji It logs successful handling of requests (200 OK) and valid JSON response bodies in the logs.
white_check_mark emoji When I call this endpoint from another container via .railway.internal, I get a 200 status but an empty response body.
white_check_mark emoji Public requests via .up.railway.app work fine and return full JSON.
white_check_mark emoji This happens even for tiny test responses (like { test: "hi" }), so it’s not a payload size or application-level issue.

Here’s what I’ve tried:

  • Validated Express app is correctly listening on port 8080 and logging the outgoing response.

  • Tested a /test endpoint to isolate from other application logic—still seeing an empty body internally.

  • Verified it’s not related to response size—same problem for small and large JSON.

  • Public .up.railway.app endpoint works flawlessly.

This suggests an issue in Railway’s internal IPv6 proxying or port exposure for internal .railway.internal traffic.

Solved$10 Bounty

1 Replies

arschettino
HOBBYOP

9 months ago

Update: The logging interface was hiding the response object into an invisible line unexpectedly but only on the response side which made it seem like the body was empty


Status changed to Solved brody 9 months ago


Loading...