Heroku Casts: Setting Up Custom Domains
October 07, 2009 by Oren Teich
NOTE: This documentation is out-of-date and no longer supported. It will not work with the current version of the Heroku platform. For the latest information about setting up custom domains on Heroku please use this article from the Heroku Dev Center.
Today is a twofer on the screencast front.
Setting up custom domains & DNS is one of those necessary evils that no one likes, and is way more confusing than it should be. Adding insult to injury, there’s not one solution for all cases. At a high level, the process is fairly easy. First, you need to point your domain to Heroku with your DNS provider (such as GoDaddy). Once your domain is pointed to Heroku, you then need to tell Heroku so we can start serving traffic to your domain.
DNS is the means by which computers translate what you type in pretty human language (e.g. heroku.com) into computer terms (22.214.171.124). To figure out how to configure DNS & Heroku, you first need to ask yourself – Do I want email (email@example.com) or not? No email is easier to manage in the long run, though neither is hard.
Setting up Custom Domains without email
This is the easiest configuration. It uses something called “CNAMES” in DNS, which are just aliases. This means you are telling DNS to just ask us, Heroku, what the right IP address is. If we ever change the DNS settings, your domain is automatically updated. On the downside, using this arrangement means that you can’t get email. It’s a long and geeky discussion on why – if you’re interested in a blog post or screencast on the details, let me know in the comments!
Setting up Custom Domains WITH email
Screencast #2 shows you how to use A records for the root domain, and setup your MX records (Mail eXchange, which tell mail clients where to send email) so that you can use custom domains and email.
Other screencasts you want to see? Let me know in the comments.