Cloudflare bare domain configuration

tony-hunter
HOBBY

a year ago

Hi folks,

Have struggled to get my bare domain and www. working with Cloudflare, have read the Railway docs, and Cloudflare ones, and have tried many different settings, have ended up giving up, and now I'm here.

Here are the latest steps I've followed, could you please tell me where I'm going wrong?

  1. In Railway: add a custom domain for [mydomain.com](mydomain.com)

  2. In Cloudflare: add a CNAME for Name = @, target = .[up.railway.app](up.railway.app) -> the name of this DNS record automatically changes to [mydomain.com](mydomain.com)

  3. In Railway: add a custom domain for www.[mydomain.com](mydomain.com)

  4. In Cloudflare: add a CNAME for Name = www, target = .[up.railway.app](up.railway.app)

After these steps, I can see Cloudflare proxy detected on both custom domains in Railway.

Both my CNAME records are Proxied on Cloudflare.

When I do this, the www. version works, the bare domain doesn't (I get 'this site can't be reached' in the browser).

I've tried changing SSL/TLS mode from Full to Flexible in Cloudflare, still doesn't work. I've tried disabling Universal SSL/re-enabling, same thing.

I only have one other DNS record, which is a TXT to auth with another service.

Any help appreciated!

Project ID: c18400df-5dee-4fe7-bc56-a98db8d475bd

0 Replies

tony-hunter
HOBBY

a year ago

(FYI, I've just gone through this again while writing this, and now the bare domain works and the www. doesn't πŸ™ˆ )


a year ago

If you want both to work like that then you'll need to add two custom domains, a [www.[mydomain.com](mydomain.com)](www.[mydomain.com](mydomain.com)) one and a [mydomain.com](mydomain.com) one

Although my recommendation would be to choose one of them and then have the other redirect to your chosen one, this keeps things more consistent


tony-hunter
HOBBY

a year ago

I have two custom domains


tony-hunter
HOBBY

a year ago

I'd be happy to do the redirect - I have tried that in Cloudflare using a Redirect Rule - I think I must have done that wrong, as it didn't work


a year ago

Oh I see now, sorry I misread πŸ™
Based on how you set it up, it should work πŸ€”

Quick side note here:

I've tried changing SSL/TLS mode from Full to Flexible in Cloudflare, still doesn't work
SSL/TLS mode should always be on full when on Railway


tony-hunter
HOBBY

a year ago

Full strict, or just Full?


a year ago

Just Full is fine


tony-hunter
HOBBY

a year ago

cool


tony-hunter
HOBBY

a year ago

if you're doing the redirect, is the best thing to set up a custom domain for the bare, or for www., domain in railway?


a year ago

that's completely up to you, personally I like it when websites don't use www but that's just personal preference 🀣


tony-hunter
HOBBY

a year ago

and you set up the redirect in Cloudflare using a Redirect Rule?


tony-hunter
HOBBY

a year ago

also, should Universal SSL be on?


a year ago

I believe so, although I'm not very experienced with Cloudflare so I can't really help a lot in that context


a year ago

No, that should be turned off


tony-hunter
HOBBY

a year ago

ok, so I've just:

  1. Removed my custom domains

  2. Added mydomain.com (the bare url)

  3. Added a CNAME for @ and .[up.railway.app](up.railway.app) to Cloudflare

  4. Disabled Universal SSL

and now none (www.mydomain.com, http://mydomain.com, https://mydomain.com and https://www.mydomain.com) of my urls are working


a year ago

Would you mind sharing the domain you're using?


tony-hunter
HOBBY

a year ago

DMd


a year ago

Seems the cause is a ERR_SSL_VERSION_OR_CIPHER_MISMATCH, usually these resolve themselves and are usually caused by SSL cache


tony-hunter
HOBBY

a year ago

interesting - when I do:

$ curl -I -L https://mydomain.com curl: (35) LibreSSL/3.3.6: error:1404B410:SSL routines:ST_CONNECT:sslv3 alert handshake failure

and

```$ curl -I -L mydomain.com
HTTP/1.1 301 Moved Permanently
Date: Fri, 09 Aug 2024 15:54:23 GMT
Content-Type: text/html
Content-Length: 167
Connection: keep-alive
Cache-Control: max-age=3600
Expires: Fri, 09 Aug 2024 16:54:23 GMT
Location: https://shareapodcast.com/
Report-To: {"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=RAt5pqcLCaUK3nHvDZkqM%2FyafZDuw3THGN8Km4eT9OpTLz4B8r2%2FHLyH%2FrfMWdd2GNyrnv3XeinvtjYJOGLlId2oukEQcfXPIGn%2FC3Lx3%2BL3vteuwTRHCH%2BFwAaztN7Kt%2FSLmw%3D%3D"}],"group":"cf-nel","maxage":604800} NEL: {"successfraction":0,"reportto":"cf-nel","maxage":604800}
Server: cloudflare
CF-RAY: 8b08eca85d4d949f-LHR
alt-svc: h3=":443"; ma=86400

curl: (35) LibreSSL/3.3.6: error:1404B410:SSL routines:ST_CONNECT:sslv3 alert handshake failure```


a year ago

I ran a DNS check on the domain and I'm not seeing any CNAMEs on it πŸ€”


a year ago

who do you own the domain with?


tony-hunter
HOBBY

a year ago

bought on GoDaddy, DNS transfer to Cloudflare


tony-hunter
HOBBY

a year ago

I've just reenabled Universal SSL and my bare domain url works again


dane-stevens
PRO

a year ago

Easiest thing is to point your bare domain at railway, and point www at your bare domain:

1271498974121169000


tony-hunter
HOBBY

a year ago

hmm the plot thickens, this is something I haven't tried


tony-hunter
HOBBY

a year ago

back in 5 mins


dane-stevens
PRO

a year ago

If that doesn't work, you can also redirect www to your bare domain: https://developers.cloudflare.com/pages/how-to/www-redirect/


tony-hunter
HOBBY

a year ago

this doesn't seem to work for me: bare domain does, www. doesn't


tony-hunter
HOBBY

a year ago

trying second suggestion, thank you Dane


dane-stevens
PRO

a year ago

I just set one up, had to point the www domain at the bare domain, and add the bulk redirect.

The DNS record on the www just allows Cloudflare to listen on www (they are pointing it to a dummy IP), using a CNAME record pointing to the bare domain works as well.


tony-hunter
HOBBY

a year ago

it works!!


tony-hunter
HOBBY

a year ago

Dane, thank you, you are a hero


dane-stevens
PRO

a year ago

I think that's the cleanest solution as you are also telling google not to index the www because of the 301 redirect


tony-hunter
HOBBY

a year ago

thank you so much; I really appreciate your help


a year ago

can you DM your domain?


a year ago

nvm i can grab it from your service


tony-hunter
HOBBY

a year ago

yeah it's there


a year ago

show me your dns in cloudflare?


tony-hunter
HOBBY

a year ago

DMd


a year ago

ssl tls mode set to full?


tony-hunter
HOBBY

a year ago

ah man I've just deployed and I now get a 404


tony-hunter
HOBBY

a year ago

annnd it's back


a year ago

universal ssl off? this should be on, dane is right


tony-hunter
HOBBY

a year ago

SSL/TSL = Full, Universal is off


dane-stevens
PRO

a year ago

Universal SSL should be on (unless you have an advanced certificate). The hosts on your universal ssl should be *.[example.com](example.com), [example.com](example.com) to include www.
SSL = Full


dane-stevens
PRO

a year ago

The connection from Cloudflare to Railway is over SSL, so you need SSL = Full.
Full (strict) is only when you are using a cloudflare origin cert on Railway (can be done through a cloudflare warp tunnel)


tony-hunter
HOBBY

a year ago

turning Universal SSL on stops my www. -> bare domain redirect working


tony-hunter
HOBBY

a year ago

(unless there's an amount of time I need to wait after enabling it)


dane-stevens
PRO

a year ago

There usually is a bit of a time delay. Do you have an advanced certificate as well, or just universal?


tony-hunter
HOBBY

a year ago

whatever is out of the box/free, I guess universal?


dane-stevens
PRO

a year ago

ok, so you would need to have universal enabled as that is the only certificate encrypting your connection between the browser and cloudflare.
Do you have the orange cloud turned on for your bare domain and www?


tony-hunter
HOBBY

a year ago

I only have one CNAME now, for @ (which replaces with mydomain.com) and yes, proxied/orange cloud is on


dane-stevens
PRO

a year ago

You probably need to add a cname for www pointing to @ as well


tony-hunter
HOBBY

a year ago

done: now, with www. I get "This site can’t be reached" / "DNSPROBEFINISHED_NXDOMAIN"


dane-stevens
PRO

a year ago

what's your domain?


tony-hunter
HOBBY

a year ago

DMd


dane-stevens
PRO

a year ago

You may just need to wait a bit


dane-stevens
PRO

a year ago

both www and bare domain are coming up fine for me


tony-hunter
HOBBY

a year ago

really


tony-hunter
HOBBY

a year ago

hmm


tony-hunter
HOBBY

a year ago

I've just flushed my DNS and looks like it's working for me too


tony-hunter
HOBBY

a year ago

it's always DNS


dane-stevens
PRO

a year ago

Glad it's working! DNS is a pain for sure, especially when you add on proxies and SSL rules


tony-hunter
HOBBY

a year ago

πŸ™


tony-hunter
HOBBY

a year ago

@Brody if it's useful, LMK if you'd like me to write up the steps I (Dane) just took to make this work, for this page: https://docs.railway.app/guides/public-networking


a year ago

catch me up, what was the final nail in the coffin to make this work?


tony-hunter
HOBBY

a year ago

I had to

  1. create a custom domain in railway for my bare domain

  2. create a CNAME for bare domain, pointing to the railway host

  3. create a CNAME for www pointing to @

  4. enable Universal SSL

  5. create a bulk redirect pointing www. to bare domain


tony-hunter
HOBBY

a year ago

going to check out for now and hope nothing breaks - thanks again Dane


a year ago

i would love a pr to add that to the docs


tony-hunter
HOBBY

a year ago

Yeah I can do that, where’s the repo?


a year ago

scroll down

1271514483730288600


tony-hunter
HOBBY

a year ago

@Brody have submitted PR


a year ago

awesome, I will look at that


a year ago

merged, thanks again!