rekord CNAME

Rekord DNS, który wskazuje, że jedna nazwa domeny jest aliasem innej. Pozwala kierować wiele nazw do tego samego celu.

Rekord CNAME (Canonical Name) to wpis w systemie DNS, który mówi: „ta nazwa nie ma własnego adresu, sprawdź zamiast niej tamtą”. Innymi słowy tworzysz alias — jedna nazwa domeny wskazuje na drugą nazwę (a nie bezpośrednio na adres IP, jak robi to rekord A czy AAAA). Resolver, który trafi na CNAME, dostaje informację „idź dalej” i pyta o nazwę docelową, dopóki nie dotrze do konkretnego adresu.

Do czego to służy

Najczęściej spinasz wiele nazw z jednym celem, żeby zarządzać tylko jednym adresem. Klasyk: www.twojadomena.pl jest CNAME-em na twojadomena.pl, a sklep.twojadomena.pl na endpoint dostawcy chmury. Kiedy hosting zmieni IP, ty nie ruszasz nic — wystarczy, że właściciel nazwy docelowej zaktualizuje swój rekord A. To dlatego usługi w stylu CDN, GitHub Pages, Heroku czy Cloudflare proszą cię o ustawienie CNAME zamiast podawania surowego IP: oni chcą móc przepinać infrastrukturę pod spodem bez gadania z tobą.

Ważna zasada: CNAME musi wskazywać na nazwę, nigdy na adres IP. Jeśli chcesz wpisać IP, to robota dla rekordu A.

Przykład z praktyki

Chcesz sprawdzić, na co realnie wskazuje subdomena. W terminalu odpalasz dig:

dig www.github.com CNAME +short

W odpowiedzi zobaczysz coś w stylu github.com. — czyli alias prowadzi do nazwy kanonicznej. Możesz też zrobić dig www.github.com +short, a dig rozwinie cały łańcuch aż do końcowego IP. Na Windowsie ten sam manewr to nslookup -type=cname www.example.com.

Na co uważać

  • Nie stawiaj CNAME na domenie głównej (apex/root), np. na samym twojadomena.pl. RFC tego zabrania, bo apex ma już rekordy SOA i NS, a CNAME nie może współistnieć z innymi rekordami dla tej samej nazwy. Dostawcy obchodzą to udawanymi typami: ALIAS, ANAME albo Cloudflare „CNAME flattening”.
  • Łańcuchy CNAME spowalniają — alias na alias na alias to więcej zapytań i wolniejsza rozdzielczość. Trzymaj je płaskie.
  • CNAME przejmuje wszystko dla danej nazwy. Jeśli mail.twojadomena.pl jest CNAME-em, nie dorzucisz tam osobnego rekordu MX czy TXT — kolizja.
  • Pamiętaj o TTL: zmiana aliasu nie wejdzie globalnie, dopóki nie wygaśnie cache resolverów.

Pojęcia powiązane

Rekord A, rekord AAAA, rekord MX, rekord TXT, rekord NS, TTL, resolver DNS, ALIAS/ANAME, CNAME flattening.