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ż rekordySOAiNS, a CNAME nie może współistnieć z innymi rekordami dla tej samej nazwy. Dostawcy obchodzą to udawanymi typami:ALIAS,ANAMEalbo 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.pljest CNAME-em, nie dorzucisz tam osobnego rekorduMXczyTXT— 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.