Custom Domains And The Chair To Keyboard Interface

A Google Custom Domain is an elegant solution for alternately addressing a blog with a BlogSpot or a non BlogSpot URL, and having the current search engine value of the BlogSpot URL transferred to the non BlogSpot URL. There is no other DNS based solution for doing all of that, and doing that so elegantly.

It's so simple to setup, too.
  1. You start with a righteous DNS configuration.
  2. You publish the blog to the primary address.
  3. You redirect the secondary address to the primary address.
  4. You are done with the setup.


For all of it's simplicity, it has a major flaw in the way it's implemented. This flaw, in Computer Security, I describe as a Chair To Keyboard Interface Fault. A CKI Fault is a frequent factor in computer security problems, and similarly, in custom domain problems.

Yet the bloggers, who generate the faults, are not the sole cause of the faults.

Custom Domains depend upon DNS, and DNS is not a user friendly infrastructure. DNS, or Domain Name System, is buried so deeply in the guts of the computer operating system, that very few bloggers know - or care - how it operates, or that it even exists. Yet, what are they greeted with, when they decide to try publishing a blog to a non BlogSpot URL?



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 216.239.32.21
mydomain.com.  3600 IN A 216.239.34.21
mydomain.com.  3600 IN A 216.239.36.21
mydomain.com.  3600 IN A 216.239.38.21
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.

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.


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 pair. There are several variations on this setup - some righteous, others spurious - that you need to consider, carefully.
blog.mydomain.com. 3600 IN CNAME ghs.google.com.
www.blog.mydomain.com. 3600 IN CNAME ghs.google.com.



Some DNS experts state that there are DNS oddities that not even DNS experts can understand. And configuring DNS addresses just is not user friendly, nor is it predictable.

If I was to instruct someone
Diagnose your domain setup. Enter
dig @localhost nitecruzr.net A
dig @localhost www.nitecruzr.net A
into a command window.
For even those whose computers would run the "Dig" command, how many would be prepared for the output?
; <<>> DiG 9.3.2 <<>> @localhost nitecruzr.net A
; (2 servers found)
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 25181
;; flags: qr rd ra; QUERY: 1, ANSWER: 4, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;nitecruzr.net.   IN A

;; ANSWER SECTION:
nitecruzr.net.  3600 IN A 216.239.32.21
nitecruzr.net.  3600 IN A 216.239.34.21
nitecruzr.net.  3600 IN A 216.239.36.21
nitecruzr.net.  3600 IN A 216.239.38.21

;; Query time: 123 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Mon Nov  9 21:48:45 2009
;; MSG SIZE  rcvd: 95

; <<>> DiG 9.3.2 <<>> @localhost www.nitecruzr.net A
; (2 servers found)
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 23566
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;www.nitecruzr.net.  IN A

;; ANSWER SECTION:
www.nitecruzr.net. 3600 IN CNAME ghs.google.com.
ghs.google.com.  380000 IN CNAME ghs.l.google.com.
ghs.l.google.com. 300 IN A 74.125.43.121

;; Query time: 105 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Mon Nov  9 21:48:52 2009
;; MSG SIZE  rcvd: 99
Which I abbreviate as
nitecruzr.net.  3600 IN A 216.239.32.21
nitecruzr.net.  3600 IN A 216.239.34.21
nitecruzr.net.  3600 IN A 216.239.36.21
nitecruzr.net.  3600 IN A 216.239.38.21
www.nitecruzr.net. 3600 IN CNAME ghs.google.com.
Besides the confusion that comes from setting up the domain, there is complication by the unpredictable nature of the DNS infrastructure, and by an intriguing role reversal of the Google custom domain servers. With all of these details in mind, is it surprising that we have users complaining of "Another blog is already hosted at this address" and "Error 404 Server Not Found", with diagnosed causes of such intriguing variations? >> Top

Comments