Cannot connect custom GoDaddy domain to Railway project (DNS not detected)

vladtsrezHOBBY

a month ago

Hello, I am trying to connect my GoDaddy domain evolveinspiration.life to my Railway project, but the DNS record is not being detected.

Steps I’ve followed:

  1. Added a CNAME record in GoDaddy:

    • Type: CNAME

    • Name: www

    • Value: (provided by Railway)

    • TTL: 1 hour

  2. Set up domain forwarding in GoDaddy from evolveinspiration.life to https://www.evolveinspiration.life using 301 redirect.

  3. Deleted all A records and other old CNAME records that may interfere.

Still, the domain status in Railway shows: "Waiting for DNS update" and "Issuing TLS certificate", but nothing happens even after several hours.

I would appreciate if you could help me verify if everything is correct on your end or if I missed something. Thank you!

Solved$10 Bounty

4 Replies

a month ago

If you want to use your root domain with a CNAME record, the record provided by Railway in this case as opposed to an IP address (A record), you're most likely going to need to setup and use a Cloudflare account because GoDaddy does not support CNAME flattening. If you want to use both the root domain and www subdomain, be sure to add them both separately to your railway service and use their respective records in the DNS configuration.


a month ago

That's a known GoDaddy issue. I spent hours trying to fix it myself last month lol.

Here's how you can solve it too:

The flow is: GoDaddy (registrar) ➜ Cloudflare (authoritative DNS + SSL) ➜ Railway (hosting).

──────────────────────────────── STEP-BY-STEP ────────────────────────────────

  1. Collect the values you need
    • Railway project subdomain – after pressing “Add Custom Domain” in Railway you will see something like
    your-service.up.railway.app ➜ Railway asks you to create a CNAME pointing to cname.vercel-dns.com (or projects.railway.app).
    • GoDaddy login credentials.

  2. Add your zone to Cloudflare
    a. In Cloudflare dashboard click “Add a Site”.
    b. Enter your naked domain (example.com) and choose the Free plan.
    c. Let Cloudflare scan existing GoDaddy DNS; click “Continue” when finished.

  3. Replace GoDaddy nameservers with Cloudflare’s
    a. Cloudflare shows two nameservers like lara.ns.cloudflare.com and nick.ns.cloudflare.com.
    b. Log in to GoDaddy ➜ My Products ➜ DNS ➜ Nameservers ➜ “Change to custom nameservers”.
    c. Paste the two Cloudflare servers, save, and confirm.
    d. Propagation typically finishes within 5–15 min; Cloudflare will show “Active” once done.

  4. Create the required DNS records in Cloudflare
    You will have two possibilities depending on whether you want the site on the apex (example.com) or a subdomain (www.example.com).

    A. If you want www.example.com

    1. DNS ➜ “Add Record” ➜ Type =CNAME

    2. Name = www

    3. Target = the Railway CNAME value you copied (e.g. clumsy-pink-kitten.up.railway.app).

    4. Proxy Status: Proxied (orange-cloud) – gives you free SSL and CDN.

    5. TTL = Auto ➜ Save.

    6. (Recommended) Redirect apex to www
      • Create a Page Rule or a Bulk Redirect:
      Source = example.com/*, Target = https://www.example.com/$1 → “Forwarding URL (301)”.

    B. If you want @ (apex) pointing to Railway

    1. DNS ➜ “Add Record” ➜ Type =CNAME (Cloudflare supports CNAME-flattening for apex)

    2. Name = @

    3. Target = Railway CNAME you copied.

    4. Proxy Status: Proxied.

    5. TTL = Auto ➜ Save.

    6. (Optional) Add a second record for www as CNAME that points to @.

  5. Verify CNAME flattening (apex only)
    dig example.com +short should now return the IPv4/IPv6 of Railway, not the CNAME itself—this is Cloudflare flattening working.

  6. Finish in Railway
    • Go back to Railway “Add Domain” dialog and hit Verify.
    • Railway will detect the DNS within seconds (because Cloudflare answered with the expected value).
    • Click Add; Railway issues the TLS certificate (may take up to 2 min).

  7. Force HTTPS
    • Cloudflare ➜ SSL/TLS ➜ set Full (strict) mode.
    • Always Use HTTPS = On.

  8. Clean-up / wait for propagation
    • Flush local DNS or wait up to 60 min for global caches.
    • Visiting https://example.com should now terminate SSL at Cloudflare and tunnel to Railway over its own certificate.

─────────────────────────────── TROUBLESHOOTING ──────────────────────────────

• “DNS not detected” after >15 min → confirm the record is a CNAME, not an A, and the value exactly matches the string Railway showed, no trailing dot.
• Cloudflare orange-cloud OFF (“DNS only”) bypasses Cloudflare; Railway will still work but SSL must be handled by Railway → turn ON unless you need raw origin.
• Apex still shows GoDaddy parking → verify GoDaddy nameservers really changed (whois).
• 526 Invalid SSL → SSL/TLS mode set to “Flexible”; change to Full (strict).
• 1016 Origin DNS error → CNAME target wrong or Railway app deleted; re-copy target.


testuser123

That's a known GoDaddy issue. I spent hours trying to fix it myself last month lol.Here's how you can solve it too:The flow is: GoDaddy (registrar) ➜ Cloudflare (authoritative DNS + SSL) ➜ Railway (hosting).──────────────────────────────── STEP-BY-STEP ────────────────────────────────Collect the values you need• Railway project subdomain – after pressing “Add Custom Domain” in Railway you will see something likeyour-service.up.railway.app ➜ Railway asks you to create a CNAME pointing to cname.vercel-dns.com (or projects.railway.app).• GoDaddy login credentials.Add your zone to Cloudflarea. In Cloudflare dashboard click “Add a Site”.b. Enter your naked domain (example.com) and choose the Free plan.c. Let Cloudflare scan existing GoDaddy DNS; click “Continue” when finished.Replace GoDaddy nameservers with Cloudflare’sa. Cloudflare shows two nameservers like lara.ns.cloudflare.com and nick.ns.cloudflare.com.b. Log in to GoDaddy ➜ My Products ➜ DNS ➜ Nameservers ➜ “Change to custom nameservers”.c. Paste the two Cloudflare servers, save, and confirm.d. Propagation typically finishes within 5–15 min; Cloudflare will show “Active” once done.Create the required DNS records in CloudflareYou will have two possibilities depending on whether you want the site on the apex (example.com) or a subdomain (www.example.com).A. If you want www.example.comDNS ➜ “Add Record” ➜ Type =CNAMEName = wwwTarget = the Railway CNAME value you copied (e.g. clumsy-pink-kitten.up.railway.app).Proxy Status: Proxied (orange-cloud) – gives you free SSL and CDN.TTL = Auto ➜ Save.(Recommended) Redirect apex to www• Create a Page Rule or a Bulk Redirect:Source = example.com/*, Target = https://www.example.com/$1 → “Forwarding URL (301)”.B. If you want @ (apex) pointing to RailwayDNS ➜ “Add Record” ➜ Type =CNAME (Cloudflare supports CNAME-flattening for apex)Name = @Target = Railway CNAME you copied.Proxy Status: Proxied.TTL = Auto ➜ Save.(Optional) Add a second record for www as CNAME that points to @.Verify CNAME flattening (apex only)dig example.com +short should now return the IPv4/IPv6 of Railway, not the CNAME itself—this is Cloudflare flattening working.Finish in Railway• Go back to Railway “Add Domain” dialog and hit Verify.• Railway will detect the DNS within seconds (because Cloudflare answered with the expected value).• Click Add; Railway issues the TLS certificate (may take up to 2 min).Force HTTPS• Cloudflare ➜ SSL/TLS ➜ set Full (strict) mode.• Always Use HTTPS = On.Clean-up / wait for propagation• Flush local DNS or wait up to 60 min for global caches.• Visiting https://example.com should now terminate SSL at Cloudflare and tunnel to Railway over its own certificate.─────────────────────────────── TROUBLESHOOTING ────────────────────────────── • “DNS not detected” after >15 min → confirm the record is a CNAME, not an A, and the value exactly matches the string Railway showed, no trailing dot.• Cloudflare orange-cloud OFF (“DNS only”) bypasses Cloudflare; Railway will still work but SSL must be handled by Railway → turn ON unless you need raw origin.• Apex still shows GoDaddy parking → verify GoDaddy nameservers really changed (whois).• 526 Invalid SSL → SSL/TLS mode set to “Flexible”; change to Full (strict).• 1016 Origin DNS error → CNAME target wrong or Railway app deleted; re-copy target.

vladtsrezHOBBY

a month ago

Thanks! Now it's work


a month ago

Awesome! I spent so many hours trying to fix this lol; I forgot I had webhooks connected to the domain so even got a few hours downtime.


Status changed to Solved brody 28 days ago