A lot of the trouble, that many blog owners experience, comes from doing it their own way.
- Sometimes, we make our own mistakes, in setting up our domain.
It should work this way, so this is how I'm going to do it.
- In other times, advice from your DNS host / registrar may contribute to the problem.
The tech support wizard at my registrar's help desk told me to configure it this way!
- Sometimes, we make our own mistakes and take advice from a third party.
The tech support wizard at my registrar's help desk told me this is all that I need!!
- Some people overlook the possibility that recommended custom domain configuration could change.
My blog was working fine this way, last year!
You have to start out with properly setup DNS addresses - including attention to domain manager address entry convention, if you want a working custom domain.
Also, be aware of the "second" "CNAME" - which is essential in verifying domain ownership. The domain ownership verification "CNAME" is neither optional nor trivial.
Note that if you have already purchased your domain - and you find, to your disappointment, that your registrar cannot support the required DNS addressing, you will need to setup (free) third party DNS hosting.
Third party DNS hosting is a far better choice, than setting up a spurious workaround. For instructions on setting up third party DNS hosting, go here.
Next, I'll show the most commonly used DNS address configurations, illustrated with excerpted Dig logs.
Symmetrical DNS Configuration
The most obvious configuration uses a symmetrical DNS structure - dual "CNAME" referrals.
mydomain.com. 3600 IN CNAME ghs.google.com. www.mydomain.com. 3600 IN CNAME ghs.google.com.
This is the simplest to explain. Both the domain root, and the "www" alias separately use a "CNAME" referral to "ghs.google.com", which provides a second referral to the current Google server that is available for use.
With a symmetrical configuration, you may publish to either "mydomain.com" or "www.mydomain.com", at your convenience.
Asymmetrical DNS Configuration, aka "Google Apps"
If you have a domain with email, FTP, and other possible auxiliary services, you use an asymmetrical structure, which use Google Apps to let you add auxiliary services, with quadruple DNS server redundancy.
mydomain.com. 3600 IN A 184.108.40.206 mydomain.com. 3600 IN A 220.127.116.11 mydomain.com. 3600 IN A 18.104.22.168 mydomain.com. 3600 IN A 22.214.171.124 www.mydomain.com. 3600 IN CNAME ghs.google.com.
Look carefully at the IP addresses in the 4 "A" records, before concluding that the 4 records are identical. If you want a stable custom domain, the domain root must be properly defined and used - instructions provided by Blogger not withstanding.
With an asymmetrical configuration, you may not publish to the domain root. Your only valid choice is to publish to "www.mydomain.com", and select "Redirect mydomain.com to www.mydomain.com". If you publish to "mydomain.com", you will eventually see
Blogs may not be hosted at naked domains.or maybe a well known monolithic error
Another blog or Google Site is already using this address.
Additional Virtual Host
If you wish to add an additional blog to the domain, maybe to add your Blogger blog to your web site, you setup an additional virtual host. There are several variations on this setup - some righteous, others spurious - that you need to consider, carefully.
Here, you may publish to "blog.mydomain.com", only. Only use a "CNAME" referral to "ghs.google.com" - do not use any "A" referrals to the Google Apps servers.
blog.mydomain.com. 3600 IN CNAME ghs.google.com.
An Actual Example, And An HTTP Trace
Let's look at a real life example, "nitecruzr.net". You will note, perhaps, that I wrote this example before server "126.96.36.199" was removed from service.
Here's an excerpted Dig log, to start.
nitecruzr.net. 3600 IN A 188.8.131.52 nitecruzr.net. 3600 IN A 184.108.40.206 www.nitecruzr.net. 3600 IN CNAME ghs.google.com. --- ghs.google.com. 435706 IN CNAME ghs.l.google.com. ghs.l.google.com. 300 IN A 220.127.116.11
And, here's an excerpted HTTP trace.
Sending request: GET / HTTP/1.1 Host: nitecruzr.net User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:18.104.22.168) Gecko/20081029 Firefox/22.214.171.124 Connection: close • Finding host IP address... • Host IP address = 126.96.36.199 • Finding TCP protocol... • Binding to local socket... • Connecting to host... • Sending request... • Waiting for response... Receiving Header: HTTP/1.1·302·Moved·Temporarily(CR)(LF) Location:·http://www.nitecruzr.net(CR)(LF) Sending request: GET / HTTP/1.1 Host: www.nitecruzr.net User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:188.8.131.52) Gecko/20081029 Firefox/184.108.40.206 Connection: close • Finding host IP address... • Host IP address = 220.127.116.11 • Finding TCP protocol... • Binding to local socket... • Connecting to host... • Sending request... • Waiting for response... Receiving Header: HTTP/1.1·200·OK(CR)(LF)
So, what do we see here? Follow me, here, please.
nitecruzr.net. 3600 IN A 18.104.22.168 nitecruzr.net. 3600 IN A 22.214.171.124
The domain root, "nitecruzr.net", is using an "A" referral to a pair of Google Apps servers, shown here as a dually redundant array. This was a triply redundant array until October 2008. Now, you should be using a set of four servers, in a quadruply redundant array.
GET / HTTP/1.1 Host: nitecruzr.net • Finding host IP address... • Host IP address = 126.96.36.199
"nitecruzr.net" uses "188.8.131.52", right now. If "184.108.40.206" was offline, it would, hopefully, use "220.127.116.11".
"nitecruzr.net" is currently redirected to "www.nitecruzr.net", within Google Apps. The redirection may, or may not, be a "302 Temporary", as trace utilities like "Rex Swain's HTTP Viewer" are known to confuse "301 Moved Permanently" with "302 Moved Temporarily". A "301 Moved Permanently" is preferred over "302 Moved Temporarily".
www.nitecruzr.net. 3600 IN CNAME ghs.google.com.
"www.nitecruzr.net" is using a "CNAME" referral to "ghs.google.com".
ghs.google.com. 435706 IN CNAME ghs.l.google.com.
"ghs.google.com" is then using a "CNAME" referral to "ghs.l.google.com", which is a load balancing DNS server array. Note the tremendously long TTL for "ghs.google.com", here showing as "435706". "ghs.l.google.com" is robustly engineered, with multiple redundant components.
Both "www.nitecruzr.net" and "ghs.l.google.com" use DNS to convert their names into IP addresses. Google provides DNS servers that resolve "google.com". If any one individual Google server is taken offline, Google changes their DNS to point to another server IP address. You never worry about this detail, and your DNS setup never has to be changed, allowing "ghs.google.com" to "always" resolve to "ghs.l.google.com" .
ghs.l.google.com. 300 IN A 18.104.22.168
"ghs.l.google.com" is currently using the IP address "22.214.171.124". TTL here is "300" seconds or 5 minutes. Tomorrow, or 5 minutes from now, "126.96.36.199" might be offline, and a different IP address would be issued.
GET / HTTP/1.1 Host: www.nitecruzr.net • Finding host IP address... • Host IP address = 188.8.131.52
"www.nitecruzr.net" is currently being served from "184.108.40.206", an address issued by "220.127.116.11" aka "ghs.l.google.com". Tomorrow, or 5 minutes from now, "18.104.22.168" might be offline, and another IP address would be issued.
If one individual server in the "ghs.l.google.com" server array goes down, Google changes the DNS address for "ghs.l.google.com" to direct to another server in the array. This results in an outage of a maximum of 5 minutes, as TTL for "ghs.l.google.com", in the cached DNS addresses, all around the Internet, expires.
Since all that "ghs.l.google.com" does is issue an IP address for serving your domain, the only domains affected will be those simultaneously
- Being accessed during the 5 minute outage period.
- Without fresh addresses for the domain in cache, on the local DNS server being used by a domain reader.
- Without a fresh address for "ghs.l.google.com", on the local DNS server being used by a domain reader.
If you are currently seeing the well known
Server Not Founddisplay, and you just made changes as advised above, you now need to allow for DNS Latency, and wait patiently. Next, publish your blog back to BlogSpot, then republish to the domain. If you have any problem here, recycle the domain settings in Google Apps, persistently.
Finally, check the "Redirect mydomain.com to www.mydomain.com" option in Settings - Publishing (or your available variation).
For more information:
- Understand what your registrar has to do before you setup your "A" and "CNAME" records!
- Understand how custom domains work.
- Understand the complete custom domain setup process.
- See some more detailed series of analyses of acceptable configurations.
- See what DNS configurations do not work with custom domains.
- See what typical "404 Not Found" scenarios are being observed.
- Read advice from Blogger, about setting up a Custom Domain in general, and about creating a "CNAME" record in particular. Note: Please read that advice with a grain of salt - if their advice was 100% accurate and easy to follow, you maybe shouldn't be here, looking for third party advice. Specifically, note my advice about DNS hosting, which you must provide for on your own.
- Read about what will happen to traffic to the blog, as you migrate to the new URL.