Modul 3 · 3.2
CNAME i gola domena
Modul 3: Zapisi za Vašu web stranicu · Vrijeme čitanja: 8 minuta
Cilj lekcije: Nakon ove lekcije moći ćete ispravno napraviti CNAME zapis i objasniti zašto on ne može stajati na goloj domeni.
Ključni pojmovi: CNAME, alias, ciljni naziv, pravilo CNAME zapisa (bez drugih zapisa uz njega), apex (gola domena), ALIAS/ANAME/CNAME flattening
Naziv koji pokazuje na drugi naziv
A zapis kaže: "ovaj naziv živi na ovoj adresi". CNAME zapis (od canonical name) kaže nešto drugo: "ovaj naziv je zapravo drugi naziv, pitajte tamo". Time stvarate alias.
shop.example.com. 3600 IN CNAME shops.platform.example.Ako preglednik zatraži adresu za shop.example.com, DNS odgovara: "to je shops.platform.example". Resolver tada traži A ili AAAA zapis tog naziva i vraća tu adresu. Za posjetitelja se ništa ne mijenja: adresna traka i dalje prikazuje shop.example.com.
Zašto biste to željeli? Zato što je IP adresa tada problem nekoga drugoga. Platforma za internetsku trgovinu, služba za newsletter ili cloud partner mogu premjestiti svoje poslužitelje i promijeniti adrese, a da Vi ništa ne morate mijenjati. Zato mnoge usluge traže CNAME umjesto A zapisa: "neka www pokazuje na shops.platform.example".
Točka na kraju
U lekciji 2.2 vidjeli ste da se naziv bez točke na kraju čita kao relativan: DNS na njega lijepi Vaš vlastiti naziv domene. Kod CNAME-a to vrlo često krene po zlu.
| Upisujete kao vrijednost | Što DNS od toga napravi |
|---|---|
shops.platform.example. | shops.platform.example (ispravno) |
shops.platform.example | shops.platform.example.example.com (ne postoji) |
Mnoga sučelja danas samu dodaju točku ili Vas na to upozore. Druga ne. Nakon spremanja provjerite u popisu: ako iza vrijednosti vidite vlastiti naziv domene, točka je nedostajala.
Isto pravilo vrijedi za poslužitelj pošte u MX zapisu i za NS zapise. Kod IP adrese u A zapisu točku ne stavljate.
Pravilo CNAME zapisa: ništa uz njega
CNAME ima jedno strogo pravilo iz DNS standarda (RFC 1034, odjeljak 3.6.2, i RFC 2181): naziv koji ima CNAME ne smije imati nijedan drugi zapis. Logično: CNAME kaže "ja sam zapravo onaj drugi naziv". Ako uz njega postoji i A zapis ili MX zapis, nije jasno koji je odgovor valjan.
Iz toga proizlaze dvije stvari s kojima se susrećete u praksi:
- Ako već postoji A zapis za
shop, prvo ga uklonite. Sučelje u suprotnom odbija CNAME zapis, ili još gore, prihvati ga pa DNS počne čudno raditi. - CNAME na goloj domeni nije moguć.
Zašto ne na goloj domeni?
Gola domena, example.com bez ičega ispred, u stručnom se jeziku naziva apex ili vrh zone. Na tom nazivu uvijek postoje zapisi koji moraju postojati:
- SOA zapis (tehnički zaglavlje zone),
- NS zapisi (koji poslužitelji imena upravljaju zonom),
- MX zapisi (pošta) i TXT zapisi (SPF, verifikacija).
Budući da CNAME ne trpi druge zapise uz sebe, a apex uvijek ima SOA i NS, na apexu ne može stajati CNAME. To nije ograničenje Vašeg sučelja, nego samog DNS-a.
Ako Vas neka usluga zamoli da povežete "Vašu glavnu domenu", postoje tri rješenja:
- A zapis (i po potrebi AAAA) s IP adresom usluge. Većina platformi za internetsku trgovinu za to navodi fiksnu adresu. Ovo funkcionira svugdje.
- ALIAS, ANAME ili zapis tipa "CNAME flattening". Neki DNS pružatelji nude vlastiti tip zapisa koji se ponaša kao CNAME, ali ga poslužitelj imena sam pretvara u A zapis prije nego što odgovor krene van. Ovo nije službeni tip zapisa: radi samo kod pružatelja koji ga podržavaju, a svugdje se zove drugačije.
- Preusmjeravanje. Neka gola domena s A zapisom pokazuje na Vaš vlastiti web poslužitelj, a on neka posjetitelje preusmjerava na
www.example.com, koji ima CNAME prema usluzi. Kako preusmjeravanje radi, pročitajte u lekciji 3.4.
Gdje CNAME još nije dopušten
- MX zapis ne smije pokazivati na CNAME (RFC 2181, odjeljak 10.3). Poslužitelj pošte u MX-u mora biti naziv s vlastitim A ili AAAA zapisom. Neki poslužitelji pošte se ipak snalaze, ali se na to ne možete oslanjati.
- Nema CNAME-a na nazivu koji u svom sučelju za hosting već imate kao poddomenu. Poddomena u sučelju sama po sebi dobiva zapise koji pokazuju na Vaš hosting. Ako želite da taj naziv pokazuje na drugu uslugu, uklonite poddomenu i napravite samo CNAME zapis.
- Lanci su mogući, ali ih ograničite. CNAME smije pokazivati na naziv koji je sam opet CNAME. Svaki korak košta dodatno pretraživanje. Velike platforme to često rade (vidjet ćete dva ili tri CNAME-a jedan za drugim), ali sami ne pravite duge lance.
U praksi: tako to izgleda u sučelju
Kao primjer koristimo DNS zaslon u Moj WebOké. U drugim sučeljima (DirectAdmin, cPanel, Plesk, Cloudflare, većina registrara) gumbi se drugačije zovu, ali unosite istu tri stvari: tip, naziv i ciljni naziv.
- Otvorite DNS zaslon svoje domene i kliknite na Add Record.
- Odaberite tip CNAME.
- U polje Naziv upišite samo
shop, bez naziva domene. - U polje Pokazuje na upišite ciljni naziv, s točkom na kraju:
shops.platform.example. - Spremite i u popisu provjerite da iza vrijednosti ne stoji Vaš vlastiti naziv domene.
Sučelje u primjeru upozorava ako točka nedostaje. Ne radi to svako sučelje.
Sažetak
- CNAME od naziva pravi alias za drugi naziv; IP adresom tada upravlja netko drugi.
- Stavite točku na kraj ciljnog naziva, inače DNS na njega lijepi Vašu vlastitu domenu.
- Naziv koji ima CNAME ne smije imati nijedan drugi zapis.
- Zato CNAME ne može stajati na goloj domeni: ondje uvijek postoje SOA i NS. Ondje koristite A zapis, zapis sličan ALIAS-u Vašeg DNS pružatelja ili preusmjeravanje.
- MX zapis ne smije pokazivati na CNAME.
Kviz
Zadatak
Zadatak Z3.2: Praćenje CNAME-a. Na koji naziv pokazuje CNAME zapis za en.wikipedia.org? Upišite ciljni naziv.
Zadatak O3.2: Samostalno postavljanje u Vašoj zoni za vježbu. U svojoj zoni za vježbu napravite CNAME zapis s nazivom winkel koji pokazuje na shops.shop-demo.dnspractice.eu. (s točkom). Pazite da za winkel ne postoji nijedan drugi zapis. U zoni za vježbu koristite lažnu uslugu; kod svoje stvarne domene upišete ciljni naziv koji navede stvarna usluga. Zatim kliknite na Provjeri.
Zadatak O3.2
Ovaj zadatak izvodite u svojoj vlastitoj zoni za vježbu: pravoj DNS zoni na poslužiteljima imena tvrtke WebOké, isključivo za Vas. Prijavite se svojom e-mail adresom. Dobit ćete poveznicu za prijavu putem e-pošte i nakon toga se vratiti na ovu lekciju. Vašu adresu koristimo samo za potrebe tečaja.
Dodatno čitanje
Ovi članci opisuju korake u sučeljima WebOké; u drugim sučeljima rade na sličan način.
