Is it allowed in DNS to have a CNAME record that points to another CNAME record?
The reason we need this is that we have a hostname that we want to be looked up to the IP address of our web server computer. We also have another web server computer stand by that could be activated in case the first one would die. In such a case we would quickly need to point the hostname to the IP address of the stand by web server computer.
Unfortunately the hostname resides in a DNS domain where any change would take long time due to manual operation dependent on other sysadmins. But we have another DNS domain where we can perform the changes ourselves quickly. Having CNAME to CNAME chain seems like a possible solution. But is it allowed? Will web browsers understand it?
From RFC 1034 - Domain names - concepts and facilities:
So yes, it is allowed and properly written software will handle it just OK. CNAME chains aren't however considered good practice and impose an overhead on the infrastructure.
Sure, it is possible.
It is generally discouraged though, for the obvious reason that it uses more DNS resources. For example:
Querying 'bar' would result in CNAME
foo
being queried, thensomeserver.somehost.com.
being queried, resulting in one extra query.For every element in the chain you will add, another query will be required.
Another reason this is discouraged is that, by creating chains like these, the chances you will somehow create CNAME loops are increased; these should be detected automatically by current DNS servers, but would still impose a large load on the servers.
Yes, it's allowed and will work, but it's not considered good practice. The multiple lookups use more resources, and there's a risk of accidentally creating a loop.