Jak działa rekord CNAME i do czego służy? Praktyczny poradnik z przykładami

Rekord CNAME to jeden z częściej używanych typów rekordów DNS, a jednocześnie jeden z tych, przy którym popełnia się najwięcej błędów konfiguracyjnych. Wynika to z prostego nieporozumienia: CNAME wygląda jak alternatywa dla rekordu A i w pewnych sytuacjach nią jest, ale rządzi się zupełnie innymi zasadami, które warto znać, zanim zaczniesz go używać.

Ten poradnik tłumaczy, czym dokładnie jest CNAME, jak różni się od rekordu A i kiedy jest właściwym wyborem, a kiedy jego użycie powoduje problemy z konkretnymi przykładami konfiguracji.

Czym jest rekord CNAME?

CNAME (Canonical Name Record) to rekord DNS, który sprawia, że jedna nazwa domenowa jest aliasem, synonimem innej nazwy. W odróżnieniu od rekordu A, który przypisuje nazwę domenową bezpośrednio do adresu IP, CNAME przypisuje nazwę domenową do innej nazwy domenowej.

Kiedy przeglądarka lub serwer wykonuje zapytanie DNS dla nazwy z rekordem CNAME, system DNS automatycznie podąża za aliasem i pobiera adres IP z docelowej nazwy. Użytkownik i aplikacja nie widzą tego pośredniego kroku, otrzymują gotowy adres IP.

Przykład:

www.twojadomena.pl.    3600    IN    CNAME    twojadomena.pl.
twojadomena.pl.        3600    IN    A        185.230.64.10

Gdy ktoś wchodzi na www.twojadomena.pl, system DNS:

  1. Pobiera rekord CNAME → dowiaduje się, że www.twojadomena.pl to alias dla twojadomena.pl.
  2. Pobiera rekord A dla twojadomena.pl → adres IP 185.230.64.10.
  3. Zwraca ten adres IP przeglądarce.

Zaletą takiej konfiguracji jest to, że przy zmianie adresu IP serwera wystarczy zaktualizować jeden rekord A dla twojadomena.pl, a subdomena www z rekordem CNAME automatycznie podąży za zmianą bez żadnej dodatkowej edycji.

CNAME vs rekord A — kiedy używać którego?

To praktyczne pytanie, na które odpowiedź nie zawsze jest oczywista.

Użyj rekordu A gdy:

  • Chcesz wskazać domenę główną (twojadomena.pl bez żadnego prefiksu) na serwer — domena główna nie może mieć rekordu CNAME.
  • Znasz docelowy adres IP i jest on stabilny — prosta, bezpośrednia konfiguracja bez pośrednich kroków DNS.
  • Zależy Ci na minimalnej liczbie zapytań DNS — rekord A rozwiązywany jest w jednym kroku, CNAME wymaga co najmniej dwóch.

Użyj rekordu CNAME, gdy:

  • Konfigurujesz subdomenę wskazującą na usługę zewnętrzną, która nie podaje stałego adresu IP (np. platforma e-commerce, CDN, GitHub Pages, Heroku).
  • Chcesz, żeby subdomena automatycznie podążała za zmianami adresu IP w rekordzie A domeny głównej.
  • Weryfikujesz właścicielstwo domeny dla usług zewnętrznych (Google Workspace, Microsoft 365, Mailchimp) — często wymagają dodania CNAME o konkretnej nazwie i wartości.

Kluczowe ograniczenie: CNAME nie może stać na domenie głównej

To jedna z najważniejszych zasad DNS, której naruszenie powoduje trudne do zrozumienia problemy. Rekord CNAME nie może być ustawiony dla domeny apex, czyli dla samej domeny bez żadnego prefiksu (twojadomena.pl, nie www.twojadomena.pl).

Wynika to z reguły standardu DNS: domena z rekordem CNAME nie może mieć żadnych innych rekordów, a domena główna zawsze musi mieć rekordy NS i SOA. Konflikt ten czyni CNAME na apexie technicznie niedozwolonym.

W praktyce oznacza to, że nie możesz zrobić:

twojadomena.pl.    IN    CNAME    twoj-sklep.platforma.com.    ← BŁĄD!

Rozwiązania tego ograniczenia:

  • ALIAS / ANAME — niestandardowe rozszerzenie oferowane przez niektórych dostawców DNS (Cloudflare, DNSimple, Route53). Zachowuje się jak CNAME na apexie, ale jest implementowane po stronie serwera DNS, nie w protokole.
  • Cloudflare CNAME Flattening — Cloudflare automatycznie „spłaszcza" CNAME na apexie do adresu IP przy zapytaniu, omijając ograniczenie protokołu.
  • Przekierowanie 301 z apex na www — prostsze rozwiązanie: apex wskazuje na serwer przez rekord A, który przekierowuje ruch na www, gdzie CNAME działa poprawnie.

CNAME a rekordy MX i TXT — kolejne ograniczenie

Kolejna zasada: nazwa domenowa z rekordem CNAME nie może mieć żadnych innych rekordów DNS w tym MX, TXT, NS ani żadnego innego. Jest to wymaganie standardu RFC 1034.

Oznacza to, że jeśli dla subdomeny poczta.twojadomena.pl ustawiłeś rekord CNAME, nie możesz jednocześnie ustawić dla niej rekordu MX. Jeśli subdomena ma obsługiwać zarówno aliasowanie, jak i pocztę to musisz użyć rekordu A zamiast CNAME.

W praktyce to ograniczenie rzadko sprawia problemy, bo zazwyczaj nie konfigurujemy poczty dla subdomen innych niż sama domena główna. Warto jednak o nim wiedzieć, gdy pojawia się błąd „CNAME conflict" w panelu DNS.

Praktyczne przykłady użycia CNAME

Subdomena www jako alias domeny głównej

www.twojadomena.pl.    3600    IN    CNAME    twojadomena.pl.

Klasyczne i najprostsze użycie — subdomena www automatycznie podąża za adresem IP domeny głównej.

Subdomena wskazująca na CDN

cdn.twojadomena.pl.    3600    IN    CNAME    twojadomena.cdn-provider.net.

Dostawcy CDN zazwyczaj nie podają stałych adresów IP, gdyż ich infrastruktura jest dynamiczna. CNAME pozwala wskazać subdomenę na domenę CDN, a dostawca CDN zarządza adresami IP po swojej stronie. Podobną konfigurację stosuje się przy integracji z siecią CDN dla przyspieszenia dostarczania zasobów statycznych.

Weryfikacja domeny dla Google Workspace

googlexxxxxxxxxxxxxxxx.twojadomena.pl.    3600    IN    CNAME    google.com.

Google Workspace i inne usługi Google czasami wymagają dodania CNAME o wygenerowanej nazwie jako alternatywnej metody weryfikacji właścicielstwa domeny (obok rekordu TXT). Dokładne wartości dostarcza kreator konfiguracji Google Workspace.

Sklep na subdomenie wskazującej na platformę SaaS

sklep.twojadomena.pl.    3600    IN    CNAME    twojsklep.shopify.com.

Gdy prowadzisz sklep na platformie SaaS (Shopify, WooCommerce.com, BigCommerce), możesz wskazać własną subdomenę na domenę platformy przez CNAME. Platforma rozpoznaje subdomenę i serwuje właściwą treść.

Subdomena dla aplikacji hostowanej na platformie cloud

app.twojadomena.pl.    3600    IN    CNAME    twoja-aplikacja.herokuapp.com.

Heroku, Vercel, Netlify, GitHub Pages — wszystkie te platformy zalecają konfigurację przez CNAME zamiast rekordu A, bo ich adresy IP mogą się zmieniać bez ostrzeżenia.

Jak dodać rekord CNAME w panelu DNS?

Interfejsy paneli DNS różnią się wyglądem, ale formularz zawsze zawiera te same pola. Szukaj opcji „Dodaj rekord" lub „Add Record".

Pola do wypełnienia:

  • Typ: wybierz CNAME
  • Nazwa / Host: wpisz subdomenę bez domeny głównej np. www dla www.twojadomena.pl. Niektóre panele oczekują pełnej nazwy z kropką na końcu: www.twojadomena.pl.
  • Wartość / Target: wpisz docelową nazwę domenową z kropką na końcu — np. twojadomena.pl. lub twojsklep.shopify.com.
  • TTL: zazwyczaj 3600 (1 godzina). Obniż do 300 przed planowanymi zmianami.

Nie wpisuj adresu IP w polu wartości CNAME, tam należy wpisać nazwę domenową. Adres IP to domena rekordu A.

Jak zweryfikować, że CNAME działa poprawnie?

Po dodaniu rekordu CNAME (i odczekaniu na propagację DNS) możesz zweryfikować konfigurację kilkoma narzędziami:

  • dig (Linux/Mac): dig www.twojadomena.pl CNAME — pokazuje wartość rekordu CNAME.
  • nslookup (Windows): nslookup -type=CNAME www.twojadomena.pl
  • dnschecker.org — sprawdza propagację CNAME z różnych lokalizacji na świecie.

Jeśli konfiguracja jest poprawna, narzędzie pokaże wartość CNAME (docelową nazwę domenową) i adres IP, na który ta nazwa wskazuje.

Przy konfiguracji DNS dla nowego hostingu stron WWW lub podczas migracji strony rekordy CNAME są jednym z elementów wymagających weryfikacji — szczególnie dla subdomen wskazujących na CDN lub zewnętrzne usługi. Jeśli potrzebujesz pomocy przy konfiguracji DNS, profesjonalna opieka WordPress obejmuje też wsparcie w zarządzaniu strefą DNS domeny.

Typowe błędy przy konfiguracji CNAME

  • CNAME na domenie głównej — niedozwolone przez standard DNS. Użyj rekordu A lub skorzystaj z funkcji ALIAS/CNAME Flattening u dostawcy DNS.
  • CNAME i inne rekordy dla tej samej nazwy — np. CNAME i MX dla subdomena.twojadomena.pl. Usuń CNAME i użyj rekordu A, jeśli subdomena potrzebuje innych rekordów.
  • Brakująca kropka na końcu wartości — w edytorach pliku strefy DNS wartości FQDN (Fully Qualified Domain Name) kończą się kropką. Panele graficzne zazwyczaj dodają ją automatycznie — ale warto to sprawdzić.
  • Wpisanie adresu IP zamiast nazwy domenowej — CNAME wskazuje na nazwę, nie na IP. Jeśli znasz IP — użyj rekordu A.
  • Łańcuchy CNAME — CNAME wskazujący na CNAME wskazujący na CNAME. Każdy dodatkowy poziom to dodatkowe zapytanie DNS. Standard DNS dopuszcza łańcuchy, ale wiele implementacji je odrzuca lub ogranicza ich długość.

Dobra konfiguracja hostingu WordPress z przejrzystą strefą DNS, bez zbędnych rekordów i bez łańcuchów CNAME, to podstawa szybkiego i niezawodnego działania strony.

Podsumowanie

Rekord CNAME to narzędzie do tworzenia aliasów domenowych. Szczególnie przydatne przy konfigurowaniu subdomen wskazujących na zewnętrzne usługi i platformy SaaS. Jego główne ograniczenia to brak możliwości użycia na domenie głównej i konflikt z innymi typami rekordów, jednak są łatwe do obejścia, gdy się o nich wie. Znając te zasady, unikniesz błędów konfiguracyjnych, które potrafią skutecznie zablokować działanie strony lub poczty przez czas propagacji DNS.