5
votes

I'm a bit confused about how to set up the DNS records for my domain at Name.com so it can correctly point to my Heroku app.

I found DNS configuration documentation at heroku's site but I'm still confused.

I'm under the impression that I need to set up a CNAME record for all subdomains and an A record for my root domain.

Also, on the name.com website, when I try to add a CNAME there are three blank fields I need to fill out which kind of confuse me: "Host" (where I enter '*' so it applies to all subdomains?), "Answer" (where I enter the DNS Target?), and "TTL"

Any help would be greatly appreciated. Thank you.

3

3 Answers

4
votes

Don't use an A-record for your root domain. Heroku is using volatile IP addresses, which means the IP you configure in your A record can stop working at any moment without notice.
See https://devcenter.heroku.com/articles/apex-domains

On your root domain, you need to either setup an HTTP redirect to your www subdomain with your DNS provider, or use another provider which offers CNAME records for root domains.

As for the CNAME in your subdomains, yes, "Host" would be "*" to be all your subdomains.
Answer will be the endpoint provided by heroku, in the form appname.herokudns.com..
TTL means how often the DNS cache should be refreshed with the clients. Using the default (or 3600 if they don't provide any) will work here.

4
votes

Fully detailed steps (2)


1). Visit Heroku apps dashboard

  • Choose your app

  • Click "Settings"

  • Find text "Add Domain", click button

  • Add your site with www subdomain:

  • Copy the returned "DNS target" value


2). Visit your name.com account

  • Find link text "Manage DNS Records" and visit link

  • "ADD RECORD" row with the following content:

Type: Host: Answer:
CNAME www 📋 DNS target value from clipboard

(SAUMITRA KUMAR's answer, is what helped me write this answer.)

2
votes

Here's what worked for me. Start with typing this in the Heroku CLI

Heroku domains: add www.youwebsitename.com --app yourherokuapp 

This should give you a DNS target.You can obtain this from the your app settings as well on the website . Copy it and save it because we are going to need it later.Then after this run

heroku domains:wait for www.youwebsitename.com --app yourherokuapp 

Then visit name.com and under your domains visit your dns records . There add CNAME entry with HOST equal to "www.yourwebsite.com" and ANSWER equal to whatever the dns target that heroku supplied you with .

Go ahead and visit your website , it'll work , if it doesn't make sure that you've used www with your website name . To fix this issue add an ANAME entry with "yourwebsite.com" as HOST and heroku dns again as target . It should reflect the changes within few hours .