47

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.

4
  • 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
  • 1
34

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."

2
  • 6
    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
  • 2
    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 '14 at 18:33
5

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.

2
  • 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
  • 1
    This is implementation specific and dangerous advice. Don't CNAME @, ever.
    – Andrew B
    Jul 8 '13 at 0:41
-1

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

5
  • 1
    No, you didn't. It doesn't work that way.
    – Chris S
    Jun 2 '14 at 14:44
  • 6
    @ChrisS CloudFlare has a nasty hack. It seems to work, though. Jun 2 '14 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 '14 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 '14 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 '14 at 18:53

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