3 days ago
I’m experiencing an issue with internal requests to my Railway service:
My service is a Node.js Express app listening on port 8080 (bound to
::
). It logs successful handling of requests (200 OK) and valid JSON response bodies in the logs.
When I call this endpoint from another container via
.railway.internal
, I get a 200 status but an empty response body. Public requests via
.up.railway.app
work fine and return full JSON. 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.
1 Replies
3 days 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 • 3 days ago