Custom domain verified but returns 502 with x-railway-fallback: true
vitorsousaf
HOBBYOP

11 days ago

My custom domain shows verified in Networking but all requests return 502 with x-railway-fallback: true. The service is healthy — the same container responds normally on the legacy *.up.railway.app URL. Only the custom domain is broken at the edge.

Setup

  • Service type: API (Node/Express)
  • Custom domain configured on the service
  • Target port set to the port the process listens on (matches legacy domain config)

DNS status

  • CNAME record pointing to Railway target — verified green in Railway UI
  • TXT _railway-verify record — verified green in Railway UI
  • External DNS resolution (dig) returns the Railway CNAME target + edge IP correctly

TLS status

  • Certificate emitted correctly for the custom domain
  • openssl s_client confirms subject=CN=<my-custom-domain>, issuer=Let's Encrypt

Symptom — same service, two domains, different behavior

Legacy *.up.railway.app domain (works):

HTTP/2 200

access-control-allow-credentials: true

content-type: application/json; charset=utf-8

Custom domain (broken):

HTTP/2 502

content-type: application/json

server: railway-hikari

x-railway-fallback: true

x-railway-request-id: CRZxNzONReihCCH4pHNmDw

x-railway-edge: mia1

Already tried

  • Redeploy of the service — no change
  • Waited 30+ minutes after verification turned green — no change
  • Confirmed target port in the custom domain config matches the process listening port
  • Container proven healthy via the legacy domain (same 200 OK returned continuously)

Looks like the edge routing table wasn't populated for the custom domain after verify. Any way for staff to force-repopulate on your side without me removing + re-adding the domain (which risks changing the DNS values I'd have to reconfigure with my domain registrar)?

Happy to share project ID, service ID, and full request-id in a DM if needed.

Thanks!

$10 Bounty

1 Replies

Railway
BOT

11 days ago

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

Status changed to Open Railway 11 days ago


Try redeploying your service.

If that doesn't work, try setting the port to an arbitrary number (eg, 4100) and change the URLs to be mapped to that as well and redeploy.


Welcome!

Sign in to your Railway account to join the conversation.

Loading...