a month ago
Project: margin (project ID 1f58e7f7-e697-4c66-9970-747697b08612)
Service: margin (service ID e1223f55-a9bc-45ce-9657-13056966083a)
Environment: production (be1659ed-3f33-4c9c-8aa8-f0362a921dca)
Custom domain: xmargin.app
Custom domain ID: 54d74ed1-6ea8-4063-9c1f-a02ca41fc7de
Edge ID on domain record: edge-6705e5cc5ae5e82ae931d2b1f900f08f
Target port: 8080
Issue:
xmargin.app has been added as a custom domain pointing at the service above.
DNS is correctly configured (CNAME xmargin.app -> pcag8411.up.railway.app,
DNS-only, verified propagated via multiple public resolvers). A TLS
certificate was successfully issued for the domain (subject CN=xmargin.app,
confirmed via direct TLS handshake). The domain's syncStatus via the
GraphQL API reports "ACTIVE" and all fields (serviceId, environmentId,
targetPort) are correctly populated and match the working service.
Despite this, every HTTPS request to https://xmargin.app returns:
HTTP/2 404
content-type: application/json
server: railway-hikari
x-railway-fallback: true
{"status":"error","code":404,"message":"Application not found"}
The exact same service, on the exact same port, is reachable and healthy
via its Railway-provided domain (margin.up.railway.app), which returns
expected responses through the same edge (x-railway-edge: sin1).
Troubleshooting already attempted (no effect on any of these):
-
Deleted and re-added the custom domain via dashboard
-
Manually triggered customDomainIssueCertificate mutation (cert now
correctly issued, confirmed via TLS handshake)
-
Manually triggered customDomainUpdate (re-applied targetPort 8080)
-
Added the custom domain explicitly to the service's networking config
and redeployed
-
Moved the service's region from us-west2 to sin (matching the domain's
edge region) and redeployed -- no change, and this shouldn't have been
necessary since margin.up.railway.app already worked fine through the
same sin1 edge before the move
Current state: syncStatus ACTIVE, cert valid, DNS correct and propagated,
service healthy -- but edge routing for this specific custom domain has
not worked at any point since initial setup (~2.5 hours as of writing).
This looks like a desync between the control-plane record (which reports
everything correct) and the actual edge routing table, not a DNS/config
issue on our end. Requesting engineering investigation into why edge
sin1 isn't routing xmargin.app to the bound service despite the domain
record showing ACTIVE.
Pinned Solution
a month ago
You need to add a TXT record for _railway-verify.xmargin.app. If you are using the API to add your custom domain, you can find it in verificationToken under status.
1 Replies
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
a month ago
You need to add a TXT record for _railway-verify.xmargin.app. If you are using the API to add your custom domain, you can find it in verificationToken under status.
Status changed to Solved 0x5b62656e5d • about 1 month ago