Jeśli znasz rozdział o rodzajach rekordów DNS, wiesz już, że każdy rekord zapisany na serwerze nazw ma określone zadanie. Rekord A przypisuje nazwę domeny do adresu IP. Rekord MX obsługuje kierowanie poczty. Rekord CNAME działa inaczej niż oba. Zamiast wskazywać adres IP czy serwer poczty, kieruje jedną nazwę domeny na inną nazwę domeny. Ta prosta różnica sprawia, że to jeden z najbardziej użytecznych i najczęściej niezrozumianych rekordów w DNS.
Co oznacza CNAME?
CNAME to skrót od canonical name, czyli nazwa kanoniczna. W tym kontekście „kanoniczna” oznacza oficjalną lub główną wersję. Tworząc rekord CNAME, mówisz, że jedna nazwa hosta jest tylko aliasem drugiej. Docelowa nazwa hosta to nazwa kanoniczna, a alias podąża za nią wszędzie, dokąd ona prowadzi.
Na przykład jeśli ustawisz rekord CNAME tak, by „www.twojastrona.com” wskazywało na „twojastrona.com”, mówisz DNS, że „www.twojastrona.com” to alias. Nazwą kanoniczną jest „twojastrona.com”. Za każdym razem, gdy ktoś wyszukuje wersję z www, DNS idzie za aliasem i rozpoznaje nazwę kanoniczną.
Jak działa rekord CNAME?
Rekord CNAME w prostych słowach działa jak adres przekierowania poczty. Przeglądarka pyta DNS o adres IP nazwy hosta. DNS znajduje rekord CNAME na tej nazwie hosta. Zamiast zwrócić adres IP, zwraca inną nazwę domeny. Przeglądarka wyszukuje tę drugą nazwę domeny i idzie za jej rekordem A, by dotrzeć do właściwego serwera.
Oto, co dzieje się krok po kroku.
- Odwiedzający wpisuje „blog.twojastrona.com” w przeglądarce
- Przeglądarka prosi DNS o rozpoznanie „blog.twojastrona.com”
- DNS znajduje rekord CNAME kierujący „blog.twojastrona.com” na „twojastrona.com”
- DNS wyszukuje rekord A dla „twojastrona.com”
- Rekord A zwraca adres IP serwera
- Przeglądarka łączy się z tym adresem IP i wczytuje stronę
Dodatkowy krok dzieje się w tle i zajmuje tylko milisekundy. Odwiedzający nigdy go nie widzi. Zaleta jest taka, że jeśli zmienisz adres IP w rekordzie A dla „twojastrona.com”, każdy alias CNAME wskazujący na tę domenę automatycznie za nim podąża. Aktualizujesz jeden rekord zamiast wielu.
Jak wygląda rekord CNAME?
Rekord CNAME ma cztery części. Każda ma konkretne zadanie.
- Nazwa hosta (name) to alias, który tworzysz. To nazwa domeny, która będzie wskazywać gdzie indziej. Przykładowa wartość to „www” lub „blog”
- Typ informuje DNS, że to rekord CNAME
- Cel (value) to kanoniczna nazwa domeny, na którą wskazuje alias. Przykładowa wartość to „twojastrona.com”
- TTL (time to live) określa, jak długo serwery DNS trzymają ten rekord w pamięci podręcznej, zanim sprawdzą aktualizacje. Mierzy się go w sekundach. Częsta wartość to 3600, czyli jedna godzina
W panelu zarządzania DNS typowy wpis rekordu CNAME pokazuje „www” jako nazwę hosta, „CNAME” jako typ, „twojastrona.com” jako cel i „3600” jako TTL.
Kiedy używać rekordu CNAME?
Rekordy CNAME są przydatne zawsze, gdy chcesz, by jedna nazwa hosta podążała za drugą. Najczęstsze sytuacje to poniższe.
Kierowanie www na domenę główną
Najczęstsze zastosowanie rekordu CNAME to skierowanie „www.twojastrona.com” na „twojastrona.com”. Domena główna ma rekord A z adresem IP serwera. Wersja z www ma CNAME wskazujący na domenę główną. Jeśli adres IP serwera się zmieni, aktualizujesz tylko rekord A. Alias www podąża za nim automatycznie.
Łączenie subdomen z usługami zewnętrznymi
Wiele usług zewnętrznych prosi o utworzenie rekordu CNAME, by połączyć Twoją subdomenę z ich platformą. Na przykład możesz skierować „sklep.twojastrona.com” na adres serwera usługi zewnętrznej. CNAME pozwala używać własnej nazwy domeny, podczas gdy usługa zajmuje się hostingiem w tle.
Konfiguracja CDN
Sieć dostarczania treści (CDN) przyspiesza stronę, serwując pliki z serwerów bliższych każdemu odwiedzającemu. Aby użyć CDN, często tworzy się rekord CNAME kierujący domenę lub subdomenę na adres dostawcy CDN. Dzięki temu ruch przechodzi przez jego sieć bez zmiany właściwej konfiguracji hostingu.
Sprawne zarządzanie wieloma subdomenami
Jeśli masz kilka subdomen, które muszą trafiać na ten sam serwer, możesz wszystkie skierować jako aliasy CNAME na jedną domenę z rekordem A. Gdy adres IP serwera się zmieni, aktualizujesz jeden rekord A zamiast każdej subdomeny osobno.
Czym różni się rekord CNAME od rekordu A?
Główna różnica dotyczy tego, na co wskazuje każdy rekord. Rekord A przypisuje nazwę domeny bezpośrednio do adresu IP. Rekord CNAME przypisuje nazwę domeny do innej nazwy domeny. Rekord A to ostateczny cel. CNAME to przekierowanie, które prowadzi do ostatecznego celu.
Oto kluczowe różnice.
- Rekord A przechowuje adres IP. CNAME przechowuje nazwę domeny
- Rekord A może istnieć na dowolnej nazwie hosta, także na domenie głównej. CNAME nie może istnieć na domenie głównej
- Rekord A jest rozpoznawany w jednym kroku. CNAME dodaje dodatkowy krok wyszukiwania, bo DNS musi pójść za aliasem, a potem rozpoznać rekord A celu
- Rekord A trzeba zaktualizować ręcznie, jeśli adres IP się zmieni. CNAME automatycznie podąża za adresem IP, na który wskazuje cel
Użyj rekordu A, gdy znasz adres IP i raczej się on nie zmieni. Użyj CNAME, gdy chcesz, by nazwa hosta podążała za inną nazwą hosta, zwłaszcza gdy adresem IP zarządza ktoś inny.
Jakie są zasady i ograniczenia rekordów CNAME?
Rekordy CNAME mają w specyfikacji DNS konkretne zasady, które odróżniają je od innych typów rekordów. Złamanie tych zasad powoduje błędy, które mogą wyłączyć stronę lub pocztę.
CNAME nie może istnieć na domenie głównej
Specyfikacja DNS nie dopuszcza rekordu CNAME na domenie głównej (apex). Domena główna to goła wersja domeny bez żadnego przedrostka, jak „twojastrona.com” zamiast „www.twojastrona.com”. To ograniczenie istnieje, bo rekordy CNAME nie mogą współistnieć z innymi typami rekordów na tej samej nazwie hosta, a domena główna potrzebuje innych rekordów (jak MX dla poczty i NS dla serwerów nazw), by działać.
Jeśli domena główna ma gdzieś wskazywać, użyj rekordu A. Niektórzy dostawcy DNS oferują obejście zwane rekordami ALIAS lub ANAME, które działają jak CNAME, ale są dozwolone na domenie głównej. Nie każdy dostawca to obsługuje.
CNAME nie może dzielić nazwy hosta z innymi rekordami
Jeśli nazwa hosta ma rekord CNAME, nie może mieć na tej samej nazwie żadnego innego typu rekordu. Żadnych rekordów A, MX ani TXT. CNAME musi być jedynym rekordem na tej nazwie. Dlatego nie można umieścić CNAME na domenie głównej: domena główna potrzebuje już rekordów NS, a zwykle także MX i TXT.
Unikaj łańcuchów CNAME
Łańcuch CNAME powstaje, gdy jeden CNAME wskazuje na inny CNAME, który wskazuje na kolejny CNAME, zanim w końcu dojdzie do rekordu A. Choć DNS technicznie potrafi iść takimi łańcuchami, każdy przeskok wydłuża wyszukiwanie i zwiększa ryzyko przekroczenia czasu lub awarii. Trzymaj się prostoty. Kieruj każdy CNAME bezpośrednio na nazwę hosta, która ma rekord A.
Jak dodać rekord CNAME?
Dodawanie rekordu CNAME przebiega podobnie u większości dostawców DNS. Dokładny układ strony ustawień jest różny, ale wpisywane informacje są wszędzie takie same.
- Zaloguj się do panelu zarządzania DNS, w którym ustawione są serwery nazw domeny. Zwykle to rejestrator domeny lub dostawca hostingu
- Znajdź sekcję rekordów DNS lub edytor strefy DNS
- Kliknij opcję dodania nowego rekordu
- Wybierz CNAME jako typ rekordu
- Wpisz nazwę hosta, którą chcesz utworzyć jako alias (na przykład „www” lub „blog”)
- Wpisz docelową nazwę domeny, na którą ma wskazywać alias (na przykład „twojastrona.com” lub adres dostawcy usługi)
- Ustaw TTL. Jeśli nie masz pewności, użyj wartości domyślnej sugerowanej przez dostawcę albo ustaw 3600 (jedna godzina)
- Zapisz rekord
Zmiany DNS mogą rozchodzić się po internecie od kilku minut do 48 godzin. To opóźnienie nazywa się propagacją DNS. W tym czasie część odwiedzających może nadal widzieć stare ustawienia, a inni nowe. Więcej o tym procesie przeczytasz w rozdziale o tym, jak działa DNS.
Jakie są częste błędy z CNAME?
Większość problemów z CNAME wynika z kilku powtarzających się błędów. Znajomość ich z góry oszczędza czas i zapobiega przestojom.
- Umieszczenie CNAME na domenie głównej. To psuje DNS. Na domenie głównej użyj rekordu A
- Dodawanie innych rekordów obok CNAME. Jeśli nazwa hosta ma CNAME, musi to być jedyny rekord na tej nazwie. Dodanie rekordu MX lub TXT do tej samej nazwy powoduje konflikty
- Tworzenie łańcuchów CNAME. Kierowanie jednego CNAME na drugi CNAME na kolejny CNAME dodaje niepotrzebne wyszukiwania. Kieruj każdy CNAME bezpośrednio na nazwę hosta, która rozpoznaje się przez rekord A
- Pominięcie kropki na końcu. Niektórzy dostawcy DNS wymagają kropki na końcu domeny docelowej (jak „twojastrona.com.”), by oznaczyć, że to w pełni kwalifikowana nazwa domeny. Jej brak może sprawić, że dostawca dopisze do celu dodatkowy tekst
- Użycie CNAME, gdy lepszy jest rekord A. Jeśli kontrolujesz serwer, a adres IP jest stały, rekord A jest prostszy i rozpoznaje się szybciej. Użyj CNAME, gdy docelowy adres IP może się zmieniać lub zarządza nim strona trzecia
Jak WEMASY obsługuje rekordy CNAME
Gdy podłączasz własną domenę do strony w WEMASY, WEMASY mówi dokładnie, które rekordy DNS dodać. Dla subdomen zwykle oznacza to utworzenie rekordu CNAME wskazującego na serwery WEMASY. WEMASY zajmuje się hostingiem, SSL i kierowaniem po drugiej stronie, więc gdy CNAME jest ustawiony, subdomena łączy się ze stroną automatycznie.
Dla domen głównych WEMASY podaje zamiast tego wartości rekordu A, bo CNAME nie można użyć na domenie głównej. Instrukcja konfiguracji prowadzi przez obie opcje, zależnie od typu podłączanej domeny. Zobacz, co zawiera każdy pakiet, na stronie cennika WEMASY.
Co dalej
Skoro wiesz już, jak rekordy CNAME tworzą aliasy między nazwami domen, następny rozdział omawia kolejny podstawowy typ rekordu. Rekordy MX decydują, gdzie dostarczana jest poczta domeny, i mają własne zasady. Opisuje to następny rozdział o tym, czym jest rekord MX. Przegląd wszystkich typów rekordów i wskazówki, kiedy użyć każdego, znajdziesz w rozdziale o rodzajach rekordów DNS.
Czy rekord CNAME może wskazywać na adres IP?
Nie. Rekord CNAME może wskazywać tylko na inną nazwę domeny, nigdy na adres IP. Jeśli chcesz skierować nazwę hosta bezpośrednio na adres IP, użyj rekordu A (dla IPv4) lub AAAA (dla IPv6). Celem CNAME jest tworzenie aliasu między dwiema nazwami domen.
Czy rekord CNAME wpływa na szybkość strony?
CNAME dodaje jedno dodatkowe wyszukiwanie DNS, bo przeglądarka musi najpierw rozpoznać alias, a potem cel. W praktyce ten dodatkowy krok zajmuje tylko kilka milisekund i zwykle nie jest zauważalny. Jeśli zależy Ci na szybkości, unikaj łańcuchów CNAME, w których wiele aliasów wskazuje na siebie nawzajem, bo każdy przeskok dodaje kolejne wyszukiwanie.
Co się stanie, jeśli cel rekordu CNAME przestanie działać?
Jeśli nazwa domeny, na którą wskazuje CNAME, przestanie być rozpoznawana albo serwer za nią przestanie działać, Twój alias też przestanie działać. CNAME podąża za celem wszędzie, także w przestoju. W samym rekordzie CNAME nie ma wbudowanego rozwiązania awaryjnego.
Czy CNAME to to samo co przekierowanie?
Nie. CNAME to alias na poziomie DNS, który mówi przeglądarce, gdzie znaleźć serwer. Adres URL w przeglądarce pozostaje taki sam. Przekierowanie to instrukcja na poziomie serwera, która wysyła przeglądarkę pod zupełnie inny adres URL, a adres w przeglądarce się zmienia. CNAME łączy nazwy domen w tle. Przekierowanie wysyła odwiedzających pod nowy adres.
Czy można użyć CNAME i rekordu A na tej samej nazwie hosta?
Nie. Specyfikacja DNS nie pozwala, by CNAME współistniał z jakimkolwiek innym typem rekordu na tej samej nazwie hosta. Jeśli nazwa hosta ma CNAME, musi to być jedyny rekord na tej nazwie. To jeden z powodów, dla których CNAME nie można umieścić na domenie głównej, która już potrzebuje rekordów NS, a często także MX i TXT.