Modul 3 · 3.4
www, přesměrování a co DNS nedělá
Modul 3: Záznamy pro Váš web · Doba čtení: 7 min
Cíl lekce: Po této lekci budete znát rozdíl mezi DNS (kde stojí server) a přesměrováním (jakou stránku dostanete), a budete umět správně nastavit www.
Klíčové pojmy: www, přesměrování (redirect, 301/302), doménový pointer nebo alias, https certifikát, cesta (path) v DNS neexistuje
Co DNS ví a co ne
DNS odpovídá na jeden typ dotazu: "kde stojí tento název?" Odpovědí je adresa (A, AAAA) nebo jiný název (CNAME). Poté je úloha DNS u konce. Vše, co se děje potom, řídí webserver na dané adrese.
Webová adresa se skládá z více částí než jen z názvu:
https://www.example.com/contact?taal=nl
└─┬─┘ └──────┬───────┘└───┬──┘└──┬──┘
protokol název cesta parametryJen prostřední část, název, se dostane k DNS. Protokol (https), cestu (/contact) a parametry DNS nikdy nevidí. Z toho vyplývá několik věcí, které mnoho lidí překvapí:
- DNS neumí přesměrovat na stránku. Záznam typu "
example.comnaothersite.example/actie" neexistuje. - DNS nevolí mezi http a https. Zda se návštěvník dostane na https, řídí webserver.
- DNS neví, jaký web se na serveru nachází. Na jedné IP adrese může běžet stovky webů. Prohlížeč posílá název spolu se svým požadavkem a webserver na jeho základě vybere správný web.
Přesměrování se řeší na webserveru
Chcete, aby example.com přesměrovávala návštěvníky na www.example.com, nebo aby druhá doména mířila na Váš hlavní web? Pak potřebujete dva kroky:
- DNS: nasměrujte název na webserver, který umí přesměrování provést. Obvykle je to Váš vlastní hosting nebo služba přesměrování u Vašeho registrátora.
- Webserver: nastavte tam přesměrování (redirect). Server pak neodpoví stránkou, ale "jdi na tuto jinou adresu". Prohlížeč to automaticky následuje.
Přesměrování má kód:
| Kód | Znamená | Použijete pro |
|---|---|---|
| 301 | Trvale přesunuto | Trvalé přesměrování, například z holé domény na www. Vyhledávače převezmou novou adresu. |
| 302 (nebo 307) | Dočasně jinde | Dočasná akční stránka nebo údržba. |
Doménový pointer nebo doménový alias je něco jiného: tentýž web se zobrazí pod dvěma názvy, aniž by se změnil obsah adresního řádku. I to řeší hostingový panel, ne DNS. DNS druhého názvu musí jen směřovat na stejný server.
Existuje také frame forwarding: adresní řádek stále zobrazuje Vaši doménu, zatímco vidíte jiný web. To často funguje špatně s moderními weby (které odmítají načíst se ve frame) a vyhledávače to nemají rády. Raději to nepoužívejte.
www: ano, nebo ne?
www je prostě subdoména. Zda necháte svůj web běžet na www.example.com, nebo na example.com, je volba. Důležité je jen:
- Obě varianty musí fungovat. Lidé píší jednu nebo druhou. Pokud chybí záznam pro
www, dostanou chybové hlášení, že web neexistuje. - Zvolte jednu jako hlavní adresu a druhou na ni nechte přesměrovat pomocí 301. Vyhledávač pak uvidí jeden web, ne dvě kopie.
V DNS to obvykle vypadá takto:
example.com. 3600 IN A 192.0.2.10
www.example.com. 3600 IN CNAME example.com.nebo vlastní záznam A pro www se stejnou adresou. Wildcard (lekce 3.3) může www také pokrýt. U externí služby, například platformy pro e-shop, www často míří pomocí CNAME na danou službu a holá doména pomocí záznamu A na adresu, kterou služba zadá (lekce 3.2 vysvětluje proč).
Certifikát patří k tomu také
Prohlížeč zobrazí zámek jen tehdy, pokud server má certifikát přesně pro název, který návštěvník zadal. Certifikát pro example.com automaticky nekryje www.example.com. Zajistěte tedy, aby certifikát obsahoval oba názvy.
To má důsledek pro přesměrování: návštěvník, který otevře https://example.com, nejdřív projde kontrolou certifikátu a teprve pak přijde přesměrování. Bez platného certifikátu pro holou doménu uvidí varování, i když ho poté řádně přesměrujete. I název, který jen přesměrovává, tedy potřebuje certifikát.
Bezplatné certifikáty, jako je ten od Let's Encrypt, kontrolují, zda název skutečně míří na Váš server. Pokud DNS stále míří na starý server, žádost se nezdaří. Nejdřív DNS, pak certifikát.
V praxi: jak to vypadá v panelu
Jako příklad použijeme DirectAdmin. V cPanel, Plesk a dalších panelech se tato část často jmenuje "Redirects" nebo "Přesměrování".
- Otevřete Přesměrování webu (přesměrování).
- Zadejte cestu, která se má přesměrovat, například
/pro celý web. - Vyberte typ: 301 pro trvalé.
- Zadejte cílovou adresu, s
https://. - Uložte.
DNS daného názvu k tomu musí směřovat na Váš vlastní hosting. Pokud míří na jinou službu, návštěvník se k tomuto přesměrování nikdy nedostane.
Shrnutí
- DNS poskytuje jen adresu názvu. Cestu, protokol a parametry DNS nevidí.
- Přesměrování (301, 302) a doménové pointery řeší webserver, ne DNS.
- Zajistěte, aby holá doména i www měly záznam, a zvolte jednu jako hlavní adresu.
- Certifikát musí pokrýt každý název, který návštěvník může zadat, včetně názvu, který jen přesměrovává.
- Nejdřív v pořádku DNS, pak certifikát.
Kvíz
Úkol
Úkol Z3.4: www: CNAME nebo A? Jak je www.sidn.nl nastaveno v DNS? SIDN je registr domény .nl v Nizozemsku; zjistěte, jaký záznam je nastaven pro www.sidn.nl, a zadejte jeho typ (A, AAAA nebo CNAME) a hodnotu. Tip: zeptejte se nejdřív na CNAME.
K této lekci neexistuje nastavovací úkol ve cvičné zóně: přesměrování se provádí na webserveru, ne v DNS.
Doporučená literatura
Tyto články popisují kroky v panelech WebOké; v jiných panelech fungují obdobně.
- Příručka k DirectAdmin 4.7: Přesměrování webu: jak přesměrovat doménu nebo stránku
- Příručka k DirectAdmin 4.4: Doménové ukazatele: druhé doménové jméno pro stejný web
- Vytvoření přesměrování na jinou doménu (hostingový účet)
- Vytvoření přesměrování domény (registrace domény)
- Příručka k DirectAdmin 6.3: Certifikát pro www, subdomény a wildcard
