Moodul 3 · 3.2
CNAME ja paljas domeen
Moodul 3: Kirjed sinu veebisaidile · Lugemisaeg: 8 minutit
Õpieesmärk: Pärast seda tundi oskad luua korrektse CNAME-kirje ja selgitada, miks seda ei saa panna paljasele domeenile.
Põhimõisted: CNAME, alias, sihtnimi, CNAME-reegel (kõrval ei tohi olla teisi kirjeid), apex (paljas domeen), ALIAS/ANAME/CNAME flattening
Nimi, mis viitab teisele nimele
A-kirje ütleb: "see nimi elab sellel aadressil". CNAME-kirje (sõnast canonical name) ütleb hoopis midagi muud: "see nimi on tegelikult teine nimi, küsi sealt". Sellega loodki aliase.
shop.example.com. 3600 IN CNAME shops.platform.example.Kui brauser küsib shop.example.com aadressi, vastab DNS: "see on shops.platform.example". Resolver otsib siis selle nime A- või AAAA-kirje ja tagastab selle aadressi. Külastaja jaoks ei muutu midagi: aadressiribal on ikka shop.example.com.
Miks seda tahaksid? Sest siis on IP-aadress kellegi teise mure. Veebipoe platvorm, uudiskirjateenus või pilveteenuse pakkuja saab oma servereid ümber tõsta ja aadresse muuta ilma, et sina peaksid midagi muutma. Seepärast küsivad paljud teenused CNAME-i, mitte A-kirjet: "suuna www viitama shops.platform.example'ile".
Punkt lõpus
Tunnist 2.2 nägid, et punktita nimi loetakse suhteliseks: DNS lisab selle taha sinu enda domeeninime. CNAME puhul läheb see väga sageli valesti.
| Kirjutad väärtuseks | Mida DNS sellest teeb |
|---|---|
shops.platform.example. | shops.platform.example (õige) |
shops.platform.example | shops.platform.example.example.com (ei ole olemas) |
Paljud paneelid lisavad tänapäeval punkti ise või hoiatavad sind. Teised mitte. Pärast salvestamist kontrolli nimekirjast: kui näed väärtuse taga oma domeeninime, siis punkt puudus.
Sama reegel kehtib postiserveri kohta MX-kirjes ja NS-kirjete kohta. A-kirjes IP-aadressi taha punkti ei panda.
CNAME-reegel: kõrval ei tohi midagi olla
CNAME-il on üks kindel reegel DNS-standardist (RFC 1034, lõik 3.6.2, ja RFC 2181): nimel, millel on CNAME, ei tohi olla teisi kirjeid. See on loogiline: CNAME ütleb "ma olen tegelikult see teine nimi". Kui kõrval on ka A-kirje või MX-kirje, pole selge, milline vastus kehtib.
Sellest tuleneb kaks asja, mida praktikas ette tuleb:
- Kui
shopjaoks on juba A-kirje, eemalda see esmalt. Muidu lükkab paneel CNAME-kirje tagasi, või mis veel hullem, võtab selle vastu ja DNS hakkab imelikult käituma. - CNAME-i ei saa panna paljasele domeenile.
Miks mitte paljasele domeenile?
Paljast domeeninime, example.com ilma milletagi ees, nimetatakse erialakeeles apex'iks ehk tsooni tipuks. Sellel nimel on alati kirjed, mis peavad seal olema:
- SOA-kirje (tsooni tehniline päis),
- NS-kirjed (millised nimeserverid tsooni haldavad),
- enamasti ka MX-kirjed (e-post) ja TXT-kirjed (SPF, kinnitamine).
Kuna CNAME ei salli enda kõrval teisi kirjeid ning apexil on alati SOA ja NS, ei saa apexil olla CNAME-i. See ei ole sinu paneeli piirang, vaid DNS-i enda oma.
Kui teenus palub sul ühendada "oma pealdomeeni", on kolm lahendust:
- A-kirje (ja võimalik AAAA-kirje) teenuse IP-aadressiga. Enamik veebipoe platvorme annab selleks fikseeritud aadressi. See töötab kõikjal.
- ALIAS-, ANAME- või "CNAME flattening" kirje. Mõned DNS-teenuse pakkujad pakuvad oma kirjetüüpi, mis käitub nagu CNAME, kuid mille nimeserver ise teisendab A-kirjeks enne vastuse saatmist. See ei ole ametlik kirjetüüp: see töötab ainult pakkujate juures, kes seda toetavad, ja igal pool kannab see teistsugust nime.
- Suunamine. Lase paljal domeeninimel A-kirje kaudu viidata sinu enda veebiserverile ja lase sellel suunata külastajad aadressile
www.example.com, millel on CNAME teenusele. Kuidas suunamine töötab, loed tunnist 3.4.
Kus veel ei tohi CNAME-i kasutada
- MX-kirje ei tohi viidata CNAME-ile (RFC 2181, lõik 10.3). Postiserver MX-kirjes peab olema nimi, millel on oma A- või AAAA-kirje. Mõned postiserverid saavad sellest siiski hakkama, aga sellele ei saa kindel olla.
- Ära pane CNAME-i nimele, mis on ka sinu hostimispaneelis alamdomeenina. Paneelis olev alamdomeen saab juba ise kirjed, mis viitavad sinu hostimisele. Kui tahad, et nimi viitaks teisele teenusele, eemalda alamdomeen ja loo ainult CNAME-kirje.
- Ahelad on võimalikud, aga piira neid. CNAME võib viidata nimele, mis ise on jälle CNAME. Iga samm maksab lisaotsingu. Suured platvormid teevad seda tihti (näed siis kaht või kolme CNAME-i järjest), aga ära loo ise pikki ahelaid.
Praktikas: nii näeb see välja paneelis
Näitena kasutame Minu WebOké DNS-i akent. Teistes paneelides (DirectAdmin, cPanel, Plesk, Cloudflare, enamik registripidajaid) on nupud teistsuguste nimedega, aga sisestad samu kolme asja: tüübi, nime ja sihtnime.
- Ava oma domeeni DNS-i aken ja klõpsa Add Record.
- Vali tüübiks CNAME.
- Kirjuta väljale Naam ainult
shop, ilma oma domeeninimeta. - Kirjuta väljale Viitab sihtnimi koos punktiga lõpus:
shops.platform.example. - Salvesta ja kontrolli nimekirjast, et väärtuse taga ei ole sinu enda domeeninime.
Näites olev paneel hoiatab, kui punkt puudub. Mitte iga paneel ei tee seda.
Kokkuvõte
- CNAME teeb nimest aliase teisele nimele; IP-aadressi haldab siis teine pool.
- Pane sihtnime lõppu punkt, muidu lisab DNS selle taha sinu enda domeeni.
- Nimel, millel on CNAME, ei tohi olla teisi kirjeid.
- Seetõttu ei saa CNAME-i panna paljasele domeenile: seal on alati SOA ja NS. Kasuta seal A-kirjet, oma DNS-teenuse pakkuja ALIAS-sarnast kirjet või suunamist.
- MX-kirje ei tohi viidata CNAME-ile.
Test
Ülesanne
Ülesanne Z3.2: CNAME-i jälgimine. Millisele nimele viitab en.wikipedia.org CNAME-kirje? Sisesta sihtnimi.
Ülesanne O3.2: Ise seadistamine oma harjutustsoonis. Loo oma harjutustsoonis CNAME-kirje nimega winkel, mis viitab shops.shop-demo.dnspractice.eu.'ile (koos punktiga). Veendu, et winkel jaoks ei ole teist kirjet. Harjutustsoonis kasutad valeteenust; oma päris domeeni puhul sisestad sihtnime, mille tegelik teenus annab. Klõpsa seejärel nupul Kontrolli.
Ülesanne O3.2
Selle ülesande teed oma harjutustsoonis: päris DNS-tsoonis WebOké nimeserverites, mis on ainult sinu jaoks. Logi sisse oma e-posti aadressiga. Saad meili teel sisselogimislingi ja jõuad siis tagasi selle tunni juurde. Kasutame su aadressi ainult kursuse jaoks.
Rohkem lugemist
Need artiklid kirjeldavad samme WebOké paneelides; teistes paneelides toimivad need sarnaselt.
