Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

Is it possible to set a CNAME record at the top of a domain? (i.e. @ CNAME www, @ CNAME foobar.com., etc.)

My ISP says that it's only possible to use CNAME's for subdomains but I've read somewhere else that is should be possible even if not recommended.

share|improve this question

migrated from stackoverflow.com Sep 22 '12 at 16:56

This question came from our site for professional and enthusiast programmers.

4  
I want to point a top-level-domain to a amazon cloudfront distribution and they only support cnames. –  Martin Sep 30 '10 at 12:13
1  
I should point out that EVERY domain is a "subdomain". example.com is a subdomain of com, and com is a subdomain of .. Any limitations put in place by your ISP are put in place by your ISP and perhaps the registrar, not by the underlying technology. –  ghoti Sep 22 '12 at 16:26
3  
example.com is not a top level domain so your question requires a rephrasing. –  bortzmeyer Sep 22 '12 at 21:47

5 Answers 5

up vote 19 down vote accepted

Not possible - this would conflict with the SOA- and NS-records at the domain root.

From RFC1912 section 2.4: "A CNAME record is not allowed to coexist with any other data."

share|improve this answer
4  
The quoted text doesn't say that it's not possible, only that it can't be used with other records. Your NS and SOA records would reside with the canonical name. –  bukzor Aug 28 '12 at 18:11
    
Just a side note, RFC1912 is Informational and does not define a standard of any sort. RFC2181 has Proposed Standard status and is a better link for unambiguously forbidding this behavior. –  Andrew B Aug 5 at 18:33

You can setup your domain to be a CNAME to another domain, but then everything will go to that other domain -- including mail and the SOA "start-of-authority" record itself. However, you can still have separate subdomains, like "private.domain.com" use another mail and web server.

share|improve this answer
2  
If the parent zone has NS records and the child "zone" is only a CNAME then some systems will get very confused. –  Alnitak Feb 7 '12 at 16:20
    
This is implementation specific and dangerous advice. Don't CNAME @, ever. –  Andrew B Jul 8 '13 at 0:41

You can have an @ record set to a CNAME, but all other @ records (including MX) will be ignored and set to the same domain to which it points. However you can point www subdomain to a CNAME, ex.: www CNAME toanotherdomain.com

share|improve this answer
4  
This is implementation specific and dangerous advice. Don't CNAME @, ever. –  Andrew B Jul 8 '13 at 0:40

I use cloudflare to setup CNAME for root domain and it works fine.. without breaking the mail records

share|improve this answer
1  
No, you didn't. It doesn't work that way. –  Chris S Jun 2 at 14:44
3  
@ChrisS CloudFlare has a nasty hack. It seems to work, though. –  Michael Hampton Jun 2 at 15:49
2  
I don't think they even use a hack, I think they just point the domain to a common set of RRs. I do the same thing with BIND zone files (use the same zone for half of my domains). I think the only "hack" is that they use the term CNAME in there. –  Chris S Jun 2 at 15:56
    
I don't think the implementation details are relevant - the point of the answer appears to be that cloudflare allows you to define a CNAME record for the root domain, which it does, and corroborates I've read somewhere else that is should be possible (though that wouldn't have been true in 2010). –  AD7six Jun 23 at 17:59
    
@AD7six If an actual CNAME record existed at the apex, it would be a RFC2181 violation. As it stands, this is a case of confusing record synthesis that has no basis in a standard defining RFC. (the fake ANAME and ALIAS records are more honest) If I'm wrong and a standard defining RFC does define the behavior for flattening an apex CNAME I'm all ears, but I'm extremely skeptical of this given RFC2181. –  Andrew B Aug 5 at 18:53

example.com:

"example" = domain name ".com" = generic domain extension

When you say "example.com is a subdomain of com, and com is a subdomain of " this statement is incorrect.

Sub-domains also called DNS records are what goes before any domain name.

www.example.com mail.example.com webmail.example.com

"www" is a subdomain, so is "mail" so is "webmail"

@ is domain root, it is used when you submit just the domain "example.com" then you will be using the @.

As stated before by other users, you CAN create a CNAME, but it is NOT recommended be because it will cause conflict with your DNS responese.

"Not possible - this would conflict with the SOA- and NS-records at the domain root" I AGREE.

A domain's manager.

share|improve this answer
8  
This is the least coherent answer I've seen here in quite a while, congratulations... –  Dennis Kaarsemaker Nov 14 '13 at 22:49

protected by Chris S Jun 2 at 14:47

Thank you for your interest in this question. Because it has attracted low-quality answers, posting an answer now requires 10 reputation on this site.

Would you like to answer one of these unanswered questions instead?

Not the answer you're looking for? Browse other questions tagged or ask your own question.