a month ago
Hi team — custom domain TLS will not finish issuing. Cert stuck in VALIDATING_OWNERSHIP for ~30h; Railway's DNS check reports currentValue empty though record resolves correctly everywhere externally.
Project: tagentic (ed7a2f9a-0cea-4ed6-bf4a-7f4fe6211a32) / env production (4cda972d-ca9b-4b40-9e1e-12111dd98f51) / service web (5f95331a-eb9c-48b6-b468-61d0baf8805e). Public Railway subdomain works fine: tagentic.up.railway.app (200 on /healthz, valid cert).
Affected: www.tagentic.co (id 9b1e1f8a-ff6b-4923-8a49-77154374901f). CNAME target 0ecq7ti7.up.railway.app. dnsRecords[0].status flaps REQUIRES_UPDATE/PROPAGATED, currentValue empty.
DNS verified correct: dig www.tagentic.co → CNAME → A 66.33.22.59 from Google, Cloudflare, Quad9. Authoritative NS launch1/launch2.spaceship.net answer 0/20 failures. Edge 66.33.22.59 routes Host: www.tagentic.co (HTTP 80→301 HTTPS).
History: apex tagentic.co was attached previously, sat in VALIDATING_OWNERSHIP for >24h, never issued. Deleted+recreated twice. Removed apex entirely; only www attached now, still won't issue. Suspect LE failed-auth backoff on tagentic.co OR stuck issuance pipeline.
Asks:
- Why does Railway resolver report currentValue empty when DNS resolves fine externally?
- Is there a LE rate-limit / failed-auth backoff on tagentic.co? When does it clear?
- Can you re-trigger / unstick cert issuance for www.tagentic.co (and apex once clear)?
Thanks!
Pinned Solution
a month ago
You need to add a TXT record to _railway-verify.www.tagentic.co . Railway uses TXT records to verify domain ownership. If you are using the API you can find the TXT record in verificationToken under status
3 Replies
a month ago
This thread has been marked as public for community involvement, as it does not contain any sensitive or personal information. Any further activity in this thread will be visible to everyone.
Status changed to Open Railway • 29 days ago
a month ago
Hey — I've dealt with this exact pattern before. Here's what's likely happening and how to fix it:
Why Railway shows currentValue empty:
Railway's internal DNS checker uses its own resolver (not Google/Cloudflare public DNS). If your registrar's nameservers (launch1/launch2.spaceship.net) are slow to respond to Railway's specific validation queries, the check fails silently and reports empty. The fact that it flaps between REQUIRES_UPDATE and PROPAGATED confirms Railway sometimes sees it — it's an intermittent resolution issue on Railway's end, not yours.
The Let's Encrypt backoff problem:
This is very likely the core issue. When Railway tries to issue a cert via Let's Encrypt and the DNS validation fails (even once), LE records a failed authorization. Key facts:
- Failed authorizations count toward a 5 failures per account/hostname/hour rate limit
- After hitting this, LE won't retry for that hostname for 1 hour per failed attempt
- You deleted and recreated the domain multiple times → each recreation triggers a new issuance attempt → each one likely failed because of the flapping DNS → compounding the backoff
- The apex
tagentic.coattempts also count against the base domain's rate limit, which affectswww.tagentic.cotoo
What to do right now:
- Stop deleting and recreating the domain. Every cycle makes the backoff worse.
- Wait ~1-2 hours without touching anything. The LE failed-auth backoff should clear.
- Verify your CNAME has no proxy/CDN in the path. If Spaceship has any kind of DNS proxy or redirect feature enabled, disable it — Railway needs to see the raw CNAME, not a proxied A record.
- After waiting, remove
www.tagentic.cofrom Railway one final time, wait 5 minutes, then re-add it. This triggers a fresh issuance attempt after the backoff has cleared. - If it still flaps, try temporarily switching your domain's nameservers to Cloudflare (free plan) — Cloudflare's NS responds much faster and more reliably to automated DNS checks, which often fixes Railway's resolver issue entirely.
For the apex domain (tagentic.co):
Railway needs an A record for apex domains (not CNAME). Once www is working, add the apex back with the A record pointing to the IP Railway provides. Don't add both at the same time — let www issue first.
This should unstick within a couple hours. If it doesn't clear after following these steps, it's likely a stuck issuance pipeline on Railway's side that only their team can reset — in that case, flag this thread for staff attention.
a month ago
Thanks @Anonymous — the LE rate-limit numbers + the "stop delete/recreating" warning are exactly what we needed. We've now stopped touching it.
Two corrections for the next reader:
- Apex A-record advice doesn't fit Railway — Railway doesn't publish a stable IP for hobby/pro custom domains, only a per-domain CNAME target. We use Spaceship's apex CNAME flattening for the root, which is the documented Railway path.
- Spaceship has no DNS proxy/CDN in the path — verified the CNAME is a raw record resolving to the Railway edge from all public resolvers + the authoritative NS itself.
Railway team — two asks:
A. Please reset the LE/issuance pipeline for www.tagentic.co (custom domain id 9b1e1f8a-ff6b-4923-8a49-77154374901f). DNS is satisfied; only Railway-side issuance is stuck. We've now been hands-off for ~1.5h so the per-hour LE backoff window should have cleared.
B. Reconsider the auto-public ruling — the OP exposes project, env, service, and custom-domain IDs that we'd prefer not to leave in the open crawl. Either flip to Private or let me know and I'll edit to redact.
Thanks.
a month ago
You need to add a TXT record to _railway-verify.www.tagentic.co . Railway uses TXT records to verify domain ownership. If you are using the API you can find the TXT record in verificationToken under status
Status changed to Solved 0x5b62656e5d • 28 days ago