Custom domain stuck returning 404/Application-not-found via edge, despite ACTIVE sync + valid cert
xmphdalf
HOBBYOP

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.

Solved$10 Bounty

Pinned Solution

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

Railway
BOT

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


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


Welcome!

Sign in to your Railway account to join the conversation.

Loading...