Czym jest rekord CNAME?
Rekord CNAME (Canonical Name) to typ rekordu DNS tworzący alias z jednej nazwy domeny do innej. W przeciwieństwie do rekordu A, który wskazuje bezpośrednio adres IP, rekord CNAME wskazuje inną nazwę domeny, a ta jest następnie rozwiązywana na adres IP.
Jak działają rekordy CNAME
Po skonfigurowaniu rekordu CNAME:
www.example.com. IN CNAME example.com.
Proces rozwiązywania:
1. Użytkownik żąda adresu www.example.com
2. DNS znajduje CNAME wskazujący na example.com
3. DNS rozwiązuje następnie rekord A domeny example.com
4. Do klienta zwracany jest końcowy adres IP
Taka kaskadowa rezolucja oznacza, że cel CNAME musi ostatecznie rozwiązać się do rekordu A lub AAAA.
Typowe zastosowania rekordów CNAME
Subdomena WWW
Skieruj www na domenę główną:
www IN CNAME example.com.
Integracja z CDN
Skieruj domenę do punktu końcowego CDN:
cdn.example.com IN CNAME d111111abcdef8.cloudfront.net.
Hosting platformy
Wskaż dostawców hostingu:
blog.example.com IN CNAME yoursite.wordpress.com.
shop.example.com IN CNAME shops.myshopify.com.
Aplikacje SaaS
Połącz subdomeny z platformami SaaS:
docs.example.com IN CNAME example.gitbook.io.
status.example.com IN CNAME stats.uptimerobot.com.
CNAME a rekord A
| Scenariusz | Użyj CNAME | Użyj rekordu A |
|---|---|---|
| Domena główna (@) | ❌ Niedozwolone | ✅ Wymagane |
| Subdomena do statycznego IP | Oba działają | ✅ Bezpośrednio |
| Subdomena u dostawcy | ✅ Preferowane | ❌ IP może się zmieniać |
| Konfiguracja CDN | ✅ Typowe | Zależy |
| Równoważenie obciążenia | ❌ Nie można użyć wielu | ✅ Wiele adresów IP |
Dlaczego domeny główne nie mogą używać CNAME
Specyfikacja DNS (RFC 1034) zabrania współistnienia rekordu CNAME z innymi typami rekordów pod tą samą nazwą. Ponieważ domeny główne wymagają rekordów SOA i NS, nie mogą zawierać rekordów CNAME.
Rozwiązania dla aliasowania domeny głównej:- Rekordy ALIAS/ANAME: pseudorekordy zależne od dostawcy DNS
- Spłaszczanie CNAME: Cloudflare i inni dostawcy rozwiązują CNAME do rekordów A
- Przekierowanie www na domenę główną: użyj CNAME dla www, a na poziomie aplikacji przekieruj na @
Łańcuchy CNAME
CNAME może wskazywać inny CNAME, tworząc łańcuch:
blog.example.com → myblog.host.com
myblog.host.com → lb-1234.hosting.com
lb-1234.hosting.com → 203.0.113.50 (A record)
Chociaż jest to prawidłowe, łańcuchy zwiększają opóźnienie. Większość dostawców DNS ogranicza długość łańcucha, aby zapobiegać nieskończonym pętlom.
Konfiguracja rekordu CNAME
Podstawowa składnia
subdomain IN CNAME target.domain.com.
Ważne: nazwa docelowa powinna zawierać końcową kropkę (.), aby wskazywać pełną nazwę domeny. Bez niej niektóre serwery DNS dopisują domenę origin.
Uwagi dotyczące TTL
Wartości TTL rekordu CNAME wpływają na szybkość propagacji zmian:
www 300 IN CNAME example.com.
Niższe wartości TTL (300 sekund) umożliwiają szybsze aktualizacje, a wyższe ograniczają liczbę zapytań DNS.
Sprawdzanie rekordów CNAME
Za pomocą dig:dig www.example.com CNAME
; ANSWER SECTION:
www.example.com. 300 IN CNAME example.com.
Pełne śledzenie rozwiązywania:
dig +trace www.example.com
Typowe problemy z CNAME
CNAME w domenie głównej
example.com IN CNAME other.com. ; INVALID
Powoduje to awarię poczty (rekordów MX) i innych usług.
CNAME z innymi rekordami
blog.example.com IN CNAME host.com.
blog.example.com IN MX mail.host.com. ; INVALID
Nazwa z CNAME nie może mieć innych typów rekordów.
Brak rekordów celu
Jeśli cel CNAME nie rozwiązuje się poprawnie, subdomena również nie będzie działać. Przed skonfigurowaniem CNAME sprawdź, czy cele są prawidłowe.
Najlepsze praktyki
1. Używaj CNAME dla usług zewnętrznych: pozwól dostawcom zarządzać zmianami adresów IP
2. Unikaj głębokich łańcuchów: każdy przeskok zwiększa opóźnienie
3. Nie używaj CNAME dla domeny głównej: stosuj rekordy A lub ALIAS
4. Dodawaj końcowe kropki: zapewnij pełne nazwy docelowe
5. Monitoruj cele CNAME: zmiany zewnętrzne mogą wpłynąć na witrynę