I have created a heroku application and wants to give domain to it from godaddy.com.
I have configured all three hosts provided by heroku but now I am getting error
Yes, many changes at Heroku. If you're using a Heroku dyno for your webserver, you have to find way to alias from one DNS
name to another DNS
name (since each Heroku DNS endpoint may resolve to many IP addrs to dynamically adjust to request loads).
A CNAME
record is for aliasing www.example.com
-> www.example.com.herokudns.com.
You can't use CNAME
for a naked domain (@
), i.e. example.com
(unless you find a name server that can do CNAME Flattening
- which is what I did).
But really the easiest solution, that can pretty much be taken care of all in your GoDaddy account, is to create a CNAME record
that does this: www.example.com -> www.example.com.herokudns.com
.
And then create a permanent 301 redirect from example.com
to www.example.com
.
This requires only one heroku custom domain name configured in your heroku app settings: www.example.com.herokudns.com
. @Jonathan Roy talks about this (above) but provides a bad link.
The trick is to
There are 2 steps you need to perform,
You can read more about this at http://devcenter.heroku.com/articles/custom-domains
At a guess you've missed out the first step perhaps?
UPDATE: Following the announcement of Bamboo's EOL proxy.heroku.com being retired (September 2014) for Bamboo applications so these should also now use the yourapp.herokuapp.com mapping now as well.
I pointed the non-www to 54.243.64.13
and the www.domain.com
to the alias.herokuapp.com
and all worked nicely.
Found the IP only after pointing www.domain.com
and then running the dig command on the www.domain.com
and it showed:
;; ANSWER SECTION:
www.domain.com. 14400 IN CNAME aliasat.herokuapp.com.
aliasat.herokuapp.com. 300 IN CNAME us-east-1-a.route.herokuapp.com.
us-east-1-a.route.herokuapp.com. 60 IN A 54.235.186.37
;; AUTHORITY SECTION:
herokuapp.com. 900 IN NS ns-1378.awsdns-44.org.
herokuapp.com. 900 IN NS ns-1624.awsdns-11.co.uk.
herokuapp.com. 900 IN NS ns-505.awsdns-63.com.
herokuapp.com. 900 IN NS ns-662.awsdns-18.net.
May not be ideal but worked.
I used this videocast to set up my GoDaddy domain with Heroku, and it worked perfectly. Very clear and well explained.
Note: Skip the part about CNAME yourdomain.com.
(note the .
) and the heroku addons:add "custom domains"
http://blog.heroku.com/archives/2009/10/7/heroku_casts_setting_up_custom_domains/
To summarize the video:
1) on GoDaddy and create a CNAME with
Alias Name: www
Host Name: proxy.heroku.com
2) check that your domain has propagated by typing host www.yourdomain.com
on the command line
3) run heroku domains:add www.yourdomain.com
4) run heroku domains:add yourdomain.com
It worked for me after these steps. Hope it works for you too!
UPDATE: things have changed, check out this post Heroku/GoDaddy: send naked domain to www
You can't use the naked domain of your-domain.com
if it is not redirected to the www.your-domain.com
. Heroku use the www.yourdomain.com
which act here as a subdomain. So when you follow the default instruction to use your-domain.com
then you will need to assign both of them.
We can actually assign only the naked domain without the www.your-domain.com
. Use only your-domain.com
when the domain's dns provider (NameServers) support ALIAS or ANAME for the @ Record to example.herokuapp.com
without CNAME www.your-domain.com
to it.
It will let you to point www.your-domain.com
to other hosting separately (independent).