Modul 3 · 3.2
CNAME a holá doména
Modul 3: Záznamy pro Váš web · Doba čtení: 8 min
Cíl lekce: Po této lekci dokážete správně vytvořit CNAME záznam a vysvětlit, proč jej nelze použít na holé doméně.
Klíčové pojmy: CNAME, alias, cílový název, pravidlo CNAME (žádné jiné záznamy vedle něj), apex (holá doména), ALIAS/ANAME/CNAME flattening
Název, který odkazuje na jiný název
Záznam A říká: "tento název bydlí na této adrese". CNAME záznam (z canonical name) říká něco jiného: "tento název je ve skutečnosti jiný název, zeptejte se tam". Vytváříte tím alias.
shop.example.com. 3600 IN CNAME shops.platform.example.Zeptá li se prohlížeč na adresu shop.example.com, DNS odpoví: "to je shops.platform.example". Resolver pak vyhledá záznam A nebo AAAA tohoto názvu a vrátí danou adresu. Návštěvník si ničeho nevšimne: v adresním řádku se zobrazuje jednoduše shop.example.com.
Proč byste to chtěli? Protože IP adresa se pak stává problémem někoho jiného. Platforma pro e-shopy, služba newsletterů nebo cloudový poskytovatel může přesunout své servery a změnit adresy, aniž byste museli cokoliv upravovat. Proto mnoho služeb žádá o CNAME místo záznamu A: "nechte www ukazovat na shops.platform.example".
Tečka na konci
V lekci 2.2 jste viděli, že název bez tečky na konci se čte jako relativní: DNS za něj přilepí Váš vlastní název domény. U CNAME se to velmi často pokazí.
| Co zadáte jako hodnotu | Co z toho DNS udělá |
|---|---|
shops.platform.example. | shops.platform.example (správně) |
shops.platform.example | shops.platform.example.example.com (neexistuje) |
Mnoho panelů dnes tečku doplní samo nebo Vás upozorní. Jiné ne. Po uložení tedy zkontrolujte seznam: pokud za hodnotou vidíte svůj vlastní název domény, tečka chyběla.
Stejné pravidlo platí pro mailový server v MX záznamu a pro NS záznamy. U IP adresy v záznamu A tečku nedáváte.
Pravidlo CNAME: nic vedle něj
CNAME má jedno pevné pravidlo ze standardu DNS (RFC 1034, odstavec 3.6.2, a RFC 2181): název s CNAME nesmí mít žádné jiné záznamy. Logické: CNAME říká "já jsem vlastně ten jiný název". Pokud by u něj byl ještě záznam A nebo MX záznam, nebylo by jasné, která odpověď platí.
Z toho plynou dvě věci, se kterými se v praxi setkáte:
- Pokud už pro
shopexistuje záznam A, nejprve jej odstraňte. Panel jinak CNAME záznam odmítne, nebo hůře, přijme jej a DNS se začne chovat podivně. - CNAME na holé doméně nelze použít.
Proč ne na holé doméně?
Holá doména, example.com bez čehokoliv před ní, se odborně nazývá apex nebo vrchol zóny. Na tomto názvu vždy musí být určité záznamy:
- SOA záznam (technická hlavička zóny),
- NS záznamy (které jmenné servery zónu spravují),
- obvykle i MX záznamy (e-mail) a TXT záznamy (SPF, ověření).
Protože CNAME netoleruje žádné jiné záznamy vedle sebe a apex má vždy SOA a NS, nemůže na apexu být CNAME. Není to omezení Vašeho panelu, ale samotné DNS.
Pokud Vás nějaká služba požádá, abyste propojili "svou hlavní doménu", existují tři řešení:
- Záznam A (a případně AAAA) s IP adresou dané služby. Většina platforem pro e-shopy pro to udává pevnou adresu. Toto funguje všude.
- Záznam typu ALIAS, ANAME nebo "CNAME flattening". Někteří poskytovatelé DNS nabízejí vlastní typ záznamu, který se chová jako CNAME, ale který jmenný server sám převede na záznam A dříve, než odpověď opustí server. Není to oficiální typ záznamu: funguje jen u poskytovatelů, kteří jej podporují, a všude se jmenuje jinak.
- Přesměrování. Nechte holou doménu záznamem A ukazovat na Váš vlastní webový server a nechte jej přesměrovávat návštěvníky na
www.example.com, který už CNAME na danou službu má. Jak přesměrování funguje, přečtete si v lekci 3.4.
Kde CNAME ještě nesmí být
- MX záznam nesmí ukazovat na CNAME (RFC 2181, odstavec 10.3). Mailový server v MX musí být název s vlastním záznamem A nebo AAAA. Některé mailové servery si s tím přesto poradí, ale nelze se na to spoléhat.
- Žádný CNAME na názvu, který máte zároveň jako subdoménu ve svém hostingovém panelu. Subdoména v panelu dostává sama o sobě záznamy, které ukazují na Váš hosting. Chcete li, aby daný název ukazoval na jinou službu, odstraňte subdoménu a vytvořte pouze CNAME záznam.
- Řetězce jsou možné, ale omezte je. CNAME může ukazovat na název, který je sám opět CNAME. Každý krok stojí navíc jedno vyhledání. Velké platformy to často dělají (uvidíte pak dva nebo tři CNAME za sebou), ale sami dlouhé řetězce nevytvářejte.
V praxi: jak to vypadá v panelu
Jako příklad použijeme obrazovku DNS v Můj WebOké. V jiných panelech (DirectAdmin, cPanel, Plesk, Cloudflare, u většiny registrátorů) se tlačítka jmenují jinak, ale vyplňujete stejné tři údaje: typ, název a cílový název.
- Otevřete obrazovku DNS své domény a klikněte na Přidat záznam.
- Zvolte typ CNAME.
- Do pole Název zadejte pouze
shop, bez názvu domény. - Do pole Odkazuje na zadejte cílový název s tečkou na konci:
shops.platform.example. - Uložte a v seznamu zkontrolujte, zda za hodnotou není uveden Váš vlastní název domény.
Panel z příkladu upozorní, pokud tečka chybí. Ne každý panel to dělá.
Shrnutí
- CNAME dělá z názvu alias pro jiný název; IP adresu pak spravuje ten druhý.
- Na konec cílového názvu dejte tečku, jinak DNS za něj přilepí Vaši vlastní doménu.
- Název s CNAME nesmí mít žádné jiné záznamy.
- Proto nelze CNAME použít na holé doméně: tam vždy jsou SOA a NS. Použijte tam záznam A, záznam typu ALIAS od svého poskytovatele DNS nebo přesměrování.
- MX záznam nesmí ukazovat na CNAME.
Kvíz
Úkol
Úkol Z3.2: Sledování CNAME. Na jaký název ukazuje CNAME záznam en.wikipedia.org? Zadejte cílový název.
Úkol O3.2: Vlastní nastavení ve cvičné zóně. Ve své cvičné zóně vytvořte CNAME záznam s názvem winkel, který ukazuje na shops.shop-demo.dnspractice.eu. (s tečkou). Zajistěte, aby pro winkel neexistoval žádný jiný záznam. Ve cvičné zóně používáte fiktivní službu; u své skutečné domény zadáte cílový název, který udává skutečná služba. Poté klikněte na Zkontrolovat.
Úkol O3.2
Tento úkol vypracujete ve své vlastní cvičné zóně: skutečné DNS zóně na jmenných serverech WebOké, určené pouze pro Vás. Přihlaste se svou e-mailovou adresou. Odkaz pro přihlášení obdržíte e-mailem a poté se vrátíte zpět na tuto lekci. Vaši adresu používáme pouze pro potřeby kurzu.
Doporučená literatura
Tyto články popisují kroky v panelech WebOké; v jiných panelech fungují obdobně.
