DNS - CNAME (Canonical Name) record (Alias)

About

A CNAME (Canonical Name) is a type of DNS record that maps one domain name to another name.

It brings a Domain Name Alias functionality (synonym).

With a CNAME, no other record type can be set with the same name.

It means that you shouldn't create a CNAME for your apex domain because the apex domain is generally also set:

  • in the MX record in order to receive email
  • or other validation TXT records (SPF, …)

When a DNS resolver encounters a CNAME record:

  • it will query the server again using the result of the CNAME as input
  • until it found an IP.

You can achieve the same alias functionality with the alias record but faster because there is only one query needed.

Example

On the below domain data, we see:

NAME                    TYPE   VALUE
--------------------------------------------------
bar.example.com.        CNAME  foo.example.com.
foo.example.com.        A      192.0.2.23

When a DNS query is performed against bar.example.com, the resolver:

  • will get a CNAME record with the value foo.example.com
  • will query the domain table again with the value foo.example.com and get an A record
  • and will return the IP 192.0.2.23

Usage

Documentation / Reference


Powered by ComboStrap