How do you guys set up naked domains in Heroku apps?
Let's say:
I have mydomain.mx and I want to allow anybody to type in the browser
www.mydomain.mx
# or
mydomain.mx
# or
http://mydomain.mx
# or
http://www.mydomain.mx
And to resolve/redirect
to the secure version of it -> https://mydomain.mx (non www)
It is basically done, following this approach:
- You need to go to the settings section in Heroku.com and enabling the SSL option(only available in hobby and paid plans)
-
Add your domain with two variations inside the settings section within heroku.com
- www.mydomain.mx
- mydomain.mx
Create those two CNAMEs entries in your DNS providers (I'm using cloudfare.com for free)
Create a redirect rule in your application(this depend on the technology and language you are using), in my case, as I'm using Rails, so it was a matter of adding this to the top of the
config/routes.rb
file:
match '(*any)',
to: redirect(subdomain: ''),
via: :all,
constraints: { subdomain: 'www' }
There you go! you are ready to go, here is a live example (Site in construction as of November 26th, 2021)
www.valoralo.mx
http://valoralo.mx
http://www.valoralo.mx
valoralo.mx
All of them will resolve to the same domain:
https://valoralo.mx