My root domain isn’t working, what’s wrong?

Issue

User is having trouble pointing their root domain (aka apex domain/naked domain) to their Heroku app, either with setting the right DNS records, or accessing it over HTTPS.

A DNS Provider does not allow setting ALIAS, ANAME, or FLATTENING Records

Resolution

Root domains on Heroku require the use of ALIAS ANAME or FLATTENING records.

Unfortunately, a number of popular DNS hosts such as GoDaddy, Bluehost, Google Domains, OVH, Hostinger and others do not support these types of records. Many of these Providers will tell you there is no such thing as ALIAS, ANAME or FLATTENING Records and many of these providers will tell you to set an A Record instead, however;

  • A Records do not work with Heroku for routing
  • A Records require static IP Addresses and static IP Addresses do not work with Heroku for routing, because Heroku (and many other cloud platforms) use dynamic IP's.

Alternate Options

If your DNS Provider doesn't allow you to set ALIAS, ANAME or FLATTENING Records, there are several options available for you to get your domains working with Heroku.

1. Do not use a Root Domain

This is the easiest solution. Root domains are technically not needed as long as you have a custom domain with subdomain set up. For example, you have a site with two domains; the root domain example.com, and the sub domain www.example.com. In this case, as long as you have www.example.com set up, example.com isn't needed as users can reach your site via www.example.com and to set up www.example.com you need to use CNAME Records which all DNS Providers allow you to set.

2. Redirect/ Forward your root domain to your sub domain

Many users choose to redirect traffic from their root domain to a subdomain, EG: redirect/forward example.com > www.example.com.

However: The URL redirect / forwarding option only works for non-SSL requests. This means that:

  • Requests to http://example.com will successfully be redirected
  • Requests to https://example.com will fail with an SSL error.

3. Use an Alternate DNS Provider

The following are DNS Providers we recommend that do allow for setting ALIAS ANAME or FLATTENING records. Many of these DNS Providers will have guides on how to work with Heroku. Eg, using Flattening with Cloudflare

DNSimple
DNS Made Easy/Constellix
easyDNS
PointDNS
namecheap
Gandi.net
Cloudflare - Note: Cloudflare use CNAME Flattening. This is the same thing as an ALIAS or ANAME record

Ask on Stack Overflow

Engage with a community of passionate experts to get the answers you need

Ask on Stack Overflow

Heroku Support

Create a support ticket and our support experts will get back to you

Contact Heroku Support