3 modulis · 3.2
CNAME ir pagrindinis domenas
3 modulis: Įrašai Jūsų svetainei · Skaitymo trukmė: 8 min.
Mokymosi tikslas: Po šios pamokos galėsite teisingai sukurti CNAME įrašą ir paaiškinti, kodėl jo negalima naudoti ant pagrindinio domeno.
Pagrindinės sąvokos: CNAME, aliasas, tikslo pavadinimas, CNAME taisyklė (jokių kitų įrašų šalia), apex (pagrindinis domenas), ALIAS/ANAME/CNAME flattening
Pavadinimas, kuris nurodo į kitą pavadinimą
A įrašas sako: "šis pavadinimas gyvena šiuo adresu". CNAME įrašas (nuo canonical name) sako kitką: "šis pavadinimas iš tikrųjų yra kitas pavadinimas, klauskite ten". Juo sukuriate aliasą.
shop.example.com. 3600 IN CNAME shops.platform.example.Jei naršyklė užklausia shop.example.com adreso, DNS atsako: "tai yra shops.platform.example". Resolveris tada ieško to pavadinimo A arba AAAA įrašo ir grąžina tą adresą. Lankytojui tai nepastebima: adreso juostoje tiesiog rodomas shop.example.com.
Kodėl to norėtumėte? Nes IP adresas tada tampa kito subjekto rūpesčiu. Elektroninės parduotuvės platforma, naujienlaiškių paslauga ar debesijos partneris gali perkelti savo serverius ir pakeisti adresus, Jums nieko nereikės keisti. Todėl daugelis paslaugų prašo CNAME, o ne A įrašo: "nukreipkite www į shops.platform.example".
Taškas pabaigoje
2.2 pamokoje matėte, kad pavadinimas be taško pabaigoje skaitomas kaip santykinis: DNS prideda prie jo Jūsų paties domeno pavadinimą. Su CNAME tai labai dažnai sukelia klaidų.
| Įrašote reikšmės lauke | Ką iš to padaro DNS |
|---|---|
shops.platform.example. | shops.platform.example (teisingai) |
shops.platform.example | shops.platform.example.example.com (neegzistuoja) |
Daug valdymo panelių šiandien patys prideda tašką arba Jus įspėja. Kiti ne. Todėl po išsaugojimo patikrinkite sąraše: jei už reikšmės matote savo paties domeno pavadinimą, taško trūko.
Ta pati taisyklė galioja pašto serveriui MX įraše ir NS įrašams. IP adresui A įraše taško nerašote.
CNAME taisyklė: nieko šalia
CNAME turi vieną griežtą taisyklę iš DNS standarto (RFC 1034, 3.6.2 skyrius, ir RFC 2181): pavadinimas su CNAME negali turėti jokių kitų įrašų. Logiška: CNAME sako "aš iš tikrųjų esu tas kitas pavadinimas". Jei dar yra ir A įrašas, ir MX įrašas, neaišku, kuris atsakymas galioja.
Iš to kyla du dalykai, su kuriais susidursite praktikoje:
- Jei
shopjau turi A įrašą, pirmiausia jį pašalinkite. Kitaip valdymo panelis atsisakys sukurti CNAME įrašą arba, dar blogiau, jį priims, ir DNS pradės veikti keistai. - CNAME ant pagrindinio domeno negalimas.
Kodėl ne ant pagrindinio domeno?
Pagrindinis domenas, example.com be nieko priekyje, profesinėje kalboje vadinamas apex arba zonos viršumi. Prie šio pavadinimo visada yra įrašų, kurie turi būti:
- SOA įrašas (zonos techninė antraštė),
- NS įrašai (kurie vardų serveriai administruoja zoną),
- paprastai taip pat MX įrašai (paštas) ir TXT įrašai (SPF, patvirtinimas).
Kadangi CNAME netoleruoja jokių kitų įrašų šalia, o apex visada turi SOA ir NS, apex negali būti CNAME. Tai ne Jūsų valdymo panelio apribojimas, o paties DNS.
Jei paslauga prašo susieti "Jūsų pagrindinį domeną", yra trys sprendimai:
- A įrašas (ir galbūt AAAA) su paslaugos IP adresu. Dauguma el. parduotuvių platformų tam nurodo pastovų adresą. Tai veikia visur.
- ALIAS, ANAME arba "CNAME flattening" įrašas. Kai kurie DNS teikėjai siūlo savo recordo tipą, kuris elgiasi kaip CNAME, bet kurį pats vardų serveris prieš atsakymo išsiuntimą paverčia A įrašu. Tai nėra oficialus įrašo tipas: jis veikia tik pas teikėjus, kurie jį palaiko, ir visur vadinamas kitaip.
- Peradresavimas. Leiskite pagrindiniam domenui su A įrašu nurodyti į Jūsų paties žiniatinklio serverį, o jis tegul peradresuoja lankytojus į
www.example.com, kuris jau turi CNAME į paslaugą. Kaip veikia peradresavimas, skaitykite 3.4 pamokoje.
Kur dar CNAME negalimas
- MX įrašas negali nurodyti į CNAME (RFC 2181, 10.3 skyrius). Pašto serveris MX įraše turi būti pavadinimas su savo A arba AAAA įrašu. Kai kurie pašto serveriai vis tiek susitvarko, bet tuo pasikliauti negalima.
- Nekurkite CNAME ant pavadinimo, kurį taip pat turite kaip subdomeną savo prieglobos valdymo panelyje. Panelyje esantis subdomenas jau gauna savo įrašus, nurodančius į Jūsų prieglobą. Jei norite, kad pavadinimas nurodytų į kitą paslaugą, pašalinkite subdomeną ir sukurkite tik CNAME įrašą.
- Grandinės galimos, bet jas ribokite. CNAME gali nurodyti į pavadinimą, kuris pats yra CNAME. Kiekvienas žingsnis kainuoja papildomą užklausą. Didelės platformos dažnai taip daro (tada matote du ar tris CNAME iš eilės), bet pats nekurkite ilgų grandinių.
Praktikoje: taip tai atrodo valdymo panelyje
Kaip pavyzdį naudojame Mano WebOké DNS langą. Kituose valdymo paneliuose (DirectAdmin, cPanel, Plesk, Cloudflare, dauguma registratorių) mygtukai vadinasi kitaip, bet įvedate tuos pačius tris dalykus: tipą, pavadinimą ir tikslo pavadinimą.
- Atidarykite savo domeno DNS langą ir spustelėkite Įtraukti įrašą.
- Pasirinkite tipą CNAME.
- Lauke Pavadinimas įrašykite tik
shop, be savo domeno pavadinimo. - Lauke Nurodo į įrašykite tikslo pavadinimą su tašku pabaigoje:
shops.platform.example. - Išsaugokite ir sąraše patikrinkite, ar už reikšmės nėra Jūsų paties domeno pavadinimo.
Pavyzdyje naudotas valdymo panelis įspėja, jei taško trūksta. Ne kiekvienas panelis tai daro.
Santrauka
- CNAME paverčia pavadinimą kito pavadinimo aliasu; IP adresą tada administruoja kitas subjektas.
- Tikslo pavadinimo pabaigoje dėkite tašką, kitaip DNS prie jo pridės Jūsų paties domeną.
- Pavadinimas su CNAME negali turėti jokių kitų įrašų.
- Todėl CNAME negali būti ant pagrindinio domeno: ten visada yra SOA ir NS. Ten naudokite A įrašą, Jūsų DNS teikėjo ALIAS tipo įrašą arba peradresavimą.
- MX įrašas negali nurodyti į CNAME.
Testas
Užduotis
Užduotis Z3.2: CNAME sekimas. Į kokį pavadinimą nurodo en.wikipedia.org CNAME įrašas? Įrašykite tikslo pavadinimą.
Užduotis O3.2: Pasikonfigūruokite patys savo pratybų zonoje. Savo pratybų zonoje sukurkite CNAME įrašą pavadinimu winkel, kuris nurodo į shops.shop-demo.dnspractice.eu. (su tašku). Pasirūpinkite, kad winkel neturėtų jokio kito įrašo. Pratybų zonoje naudojate netikrą paslaugą; savo tikrame domene įrašysite tikslo pavadinimą, kurį nurodo tikroji paslauga. Tada spustelėkite Patikrinti.
Užduotis O3.2
Šią užduotį atliksite savo pratybų zonoje: tikroje DNS zonoje WebOké vardų serveriuose, skirtoje tik Jums. Prisiregistruokite savo el. pašto adresu. Gausite prisijungimo nuorodą el. paštu ir po to grįšite į šią pamoką. Jūsų adresą naudosime tik kursui.
Skaitykite daugiau
Šie straipsniai aprašo žingsnius WebOké valdymo paneliuose; kituose paneliuose jie veikia panašiai.
