verified: falsewith both DNS records propagated — edge returns
x-railway-fallback
24 days ago
A custom domain in our staging environment has been stuck at verified: false for several
hours, even though both required DNS records are correctly configured and propagated, and the
TLS certificate was issued successfully. The edge returns 404 with x-railway-fallback: true,
so no route is ever created for the hostname.
The same project has an identical setup in production that works, which makes this a clean
A/B comparison — same project, same edge, same target port, same DNS provider, same record
shape. The only field that differs is verified.
Affected resource
| | |
| ------------- | ------------------------------------------------------------ |
| Project | blueberry-analyzer-v2 — a9ef73ac-3cd0-4f83-8f59-33f692ab9267 |
| Service | analyzer-web — 07a0904c-d7c3-4fbc-99e7-784c0bfab0a1 |
| Environment | homologacao — a3696d6e-ee18-4467-9ef3-a24454a673ed |
| Custom domain | analise-hml.blueberry.app.br — d634bc3b-aace-4680-894b-07f52897e80f |
| Edge | edge-500b32d4e9aaa4d3ff91d6ebb54285cd |
DNS state (verified from authoritative nameservers, not a cache)
The zone blueberry.app.br is hosted at Registro.br (b.sec.dns.br, c.sec.dns.br).
$ dig +short CNAME analise-hml.blueberry.app.br
frfm2khe.up.railway.app.
$ dig +short TXT _railway-verify.analise-hml.blueberry.app.br @b.sec.dns.br
"railway-verify=bf5afcf135ece22284c6943e86a5c4f978e189fe1b76b85ea366909c9010231e"
$ dig +short TXT _railway-verify.analise-hml.blueberry.app.br @8.8.8.8
"railway-verify=bf5afcf135ece22284c6943e86a5c4f978e189fe1b76b85ea366909c9010231e"The TXT value matches status.verificationToken returned by the API exactly, and the host
matches status.verificationDnsHost (_railway-verify.analise-hml).
Response headers from the broken domain
HTTP/2 404
server: railway-hikari
x-railway-fallback: true
x-railway-edge: mia1
content-type: application/jsonFor contrast, the production domain on the same edge returns HTTP/2 200 with
x-powered-by: Next.js — the request reaches the app.
What we already tried (none changed verified)
-
customDomainIssueCertificate— returnstrue. This did fix a separate problem: thecertificate was previously stuck at
CERTIFICATE_STATUS_TYPE_VALIDATING_OWNERSHIPand movedto
VALIDafter this call. It had no effect onverified. -
customDomainUpdatewithtargetPort8080→null→3000→8080. The 404 andx-railway-fallbackare identical at every value, so the target port is not the cause. Theport is now back to
8080, matching production. -
Service redeploy (
analyzer-web,homologacao) — completedSUCCESS, no change. -
Waiting — the TXT record has been propagated for over 2 hours with no transition.
Questions
-
Is there a documented or internal way to re-trigger ownership verification for an existing
custom domain? The public GraphQL API exposes only
customDomainCreate,customDomainDelete,customDomainUpdateandcustomDomainIssueCertificate— none of which re-run verification. -
Why would
verifiedstayfalsewhen the verification TXT record matchesverificationTokenexactly and is propagated globally? -
Is
syncStatus: ACTIVEwithverified: falsean expected combination? It reads ascontradictory from the outside — the domain appears synced to an edge that has no route for it.
We would rather not delete and recreate the domain: that mints a new verification token and
possibly a new CNAME target, forcing a second round of DNS changes at Registro.br — and if the
verifier is what is failing, the recreated domain would likely land in the same state.
1 Replies
Status changed to Awaiting Railway Response Railway • 24 days ago
24 days ago
Having looked into this, the issue appears to be in your application code or configuration rather than the Railway platform itself, which puts it outside what Railway support can resolve directly.
This is exactly the kind of problem the Railway community is good at, so we'd like to open your thread as a community bounty. Railway pays a bounty to the community member who solves it, and threads like this usually get picked up quickly.
Opening it makes this entire thread public, including everything already posted. Nothing becomes public until you decide. Use the buttons below.
- Open to the community - Before you click, take a moment to edit or remove anything you'd rather not share. The thread becomes publicly visible right away.
- Keep it private and close the thread - Nothing becomes public. The thread closes, since this isn't something Railway support can take further.
Status changed to Awaiting User Response Railway • 24 days ago
21 days ago
This thread has been opened as a public bounty so the community can help solve it. The thread and any further activity are now visible to everyone.
Status changed to Open Railway • 21 days ago