Custom domain returns 404
x-railway-fallback: true
while control plane reports DNS propagated + certificate valid
lekosarmento
HOBBYOP

a month ago

My custom domain prensa.leko.ia.br returns 404 from the edge even though every

piece of configuration reports healthy. The service itself is fine — its Railway

generated domain serves 200 normally.

Project / service

  • Project: prensa400ec89d-a05f-452c-a027-2eb40e304b85
  • Environment: productionbc23a752-fd04-4a20-8156-823fa422c240
  • Service: prensa-webf3a5b575-55fa-4a2d-bd09-72dbd2976d09
  • Custom domain id: ed71f57e-4ec8-4121-bc3c-91fe61f72d0c
  • Workspace plan: HOBBY, customer state ACTIVE

What works

  • https://prensa-web-production.up.railway.app200 (same service, same deployment)

What fails

  • https://prensa.leko.ia.br404, body {"status":"error","code":404,"message":"Application not found"}
  • Response headers: x-railway-fallback: true, server: railway-hikari
  • Seen from edges mia1 and jfk1
  • Example request ids: 7h0xun1bSDaXaghVn6XIxQ, n5hcsaL8R7eH1x3R9o6EoQ, 44qs0BfJRpGyWwZLljLL4A

What the control plane reports (via GraphQL API)

  • domains(...).customDomains[]prensa.leko.ia.br

    • dnsRecords[0].status = DNS_RECORD_STATUS_PROPAGATED
    • dnsRecords[0].requiredValue = qb4kachq.up.railway.app = currentValue
    • certificateStatus = CERTIFICATE_STATUS_TYPE_VALID
  • customDomainAvailable(domain: "prensa.leko.ia.br")

    available: false, message: 'Domain is in use by service "prensa-web" in project "prensa" (production)'

So the control plane believes the domain is correctly attached and certified, but

the edge has no route for that Host and falls back to 404.

External DNS check (dns.google)

  • prensa.leko.ia.br CNAME → qb4kachq.up.railway.app. (TTL 3600)
  • qb4kachq.up.railway.app A → 69.46.46.1
  • Working service domain A → 69.46.46.115
  • No CAA records on leko.ia.br or prensa.leko.ia.br
  • DNS is hosted at registro.br (a.sec.dns.br / c.sec.dns.br)

Already tried, none fixed it

  1. customDomainIssueCertificate — cert went VALIDATING_OWNERSHIPVALID

    (note: automatic validation never completes on its own; it only moves when I

    call this mutation manually — possibly related)

  2. customDomainUpdate with targetPort: 3000 and later targetPort: null

    (the working service domain has targetPort: null)

  3. Deleted and recreated the custom domain (that's why the CNAME target changed

    from niketv9y to qb4kachq; the original record was pointing at an edge

    that no longer resolved)

  4. Two redeploys of prensa-web after the domain existed

  5. Verified there is no incident on status.railway.com

Ask: could you re-sync / re-publish the edge route for this hostname? It looks

like the domain is stuck in the edge routing table (the hostname was previously

attached to a deleted domain record, id 691d2e33-14d8-4738-8ae4-e720f59b618c,

edge edge-6705e5cc5ae5e82ae931d2b1f900f08f).

$10 Bounty

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.prensa.leko.ia.br. If you are using the API to add your custom domain, you can find it in verificationToken under status.


Welcome!

Sign in to your Railway account to join the conversation.

Loading...