So, https://devcenter.heroku.com/articles/custom-domains has all the good stuff.
The decision tree:
- Domain Purchased (do not confuse with DNS)
- DNS purchased
- Set the following records:
- Three (3) A name records with example.com pointing to the 3 IPs listed in the url
- CNAME record
- *.example.com pointing to myapp.herokuapp.com
- DNS not purchased
- Use Zerigo basic (or the other levels)
- Zerigo presets the 3 A records
- You have to add the redirect for www to the domain
It took me a while to really understand how all the elements fit together especially since different providers such as GoDaddy, 1&1, Nettica, dyn.com, Zerigo and the list goes on and on have all completely different interfaces for accomplishing what I needed to do.
This was especially true when setting mail records.
If you are using google apps for your mail, you need to set the 5 MX records to the google app specs which Zerigo so conveniently has a snippet for.
If you need to setup aliases, the mechanism depends on the DNS server and the actual hosting web server. I use a vps for most of my apps, so I can set the aliases via the cpanel or the terminal. However, from poking around it looks like some dns services have this ability as well.
Anyhow, this isn't ground breaking information, but it took me a few tries to understand when to use and more importantly not use zerigo with heroku.