Moduuli 3 · 3.2
CNAME ja paljas verkkotunnus
Moduuli 3: Verkkosivuston tietueet · Lukuaika: 8 minuuttia
Oppitavoite: Tämän oppitunnin jälkeen osaat tehdä CNAME-tietueen oikein ja selittää, miksi sitä ei voi käyttää paljaalla verkkotunnuksella.
Keskeiset käsitteet: CNAME, alias, kohdenimi, CNAME-sääntö (ei muita tietueita vieressä), apex (paljas verkkotunnus), ALIAS/ANAME/CNAME flattening
Nimi, joka osoittaa toiseen nimeen
A-tietue sanoo: "tämä nimi asuu tässä osoitteessa". CNAME-tietue (sanoista canonical name) sanoo jotain muuta: "tämä nimi on itse asiassa toinen nimi, kysy sieltä". Sillä teet nimestä aliaksen.
shop.example.com. 3600 IN CNAME shops.platform.example.Kun selain kysyy osoitetta nimelle shop.example.com, DNS vastaa: "se on shops.platform.example". Resolveri hakee sitten tämän nimen A- tai AAAA-tietueen ja palauttaa sen osoitteen. Kävijä ei huomaa tästä mitään: osoiterivillä näkyy edelleen shop.example.com.
Miksi tätä haluaisi käyttää? Koska silloin IP-osoite on jonkun toisen vastuulla. Verkkokauppa-alusta, uutiskirjepalvelu tai pilvipalveluntarjoaja voi siirtää palvelimiaan ja vaihtaa osoitteita sinun tarvitsematta muuttaa mitään. Siksi monet palvelut pyytävät CNAMEa A-tietueen sijaan: "osoita www kohteeseen shops.platform.example".
Piste lopussa
Oppitunnilla 2.2 näit, että ilman pistettä lopussa kirjoitettu nimi luetaan suhteellisena: DNS liittää perään oman verkkotunnuksesi. CNAMEssa tämä menee usein pieleen.
| Kirjoitat arvoksi | Mitä DNS tekee siitä |
|---|---|
shops.platform.example. | shops.platform.example (oikein) |
shops.platform.example | shops.platform.example.example.com (ei ole olemassa) |
Monet hallintapaneelit lisäävät pisteen nykyään itse tai varoittavat siitä. Toiset eivät. Tarkista siis tallennuksen jälkeen listasta: jos arvon perässä näkyy oma verkkotunnuksesi, piste puuttui.
Sama sääntö koskee sähköpostipalvelinta MX-tietueessa ja NS-tietueita. IP-osoitteen perään A-tietueessa ei laiteta pistettä.
CNAME-sääntö: ei mitään vieressä
CNAMEa koskee yksi ehdoton sääntö DNS-standardissa (RFC 1034, kappale 3.6.2, ja RFC 2181): nimellä, jolla on CNAME, ei saa olla muita tietueita. Loogista: CNAME sanoo "olen itse asiassa se toinen nimi". Jos silloin on myös A-tietue tai MX-tietue, ei ole selvää, kumpi vastaus pätee.
Tästä seuraa kaksi asiaa, joihin törmäät käytännössä:
- Jos nimellä
shopon jo A-tietue, poista se ensin. Muuten hallintapaneeli joko hylkää CNAME-tietueen tai, pahempaa, hyväksyy sen ja DNS alkaa toimia oudosti. - CNAMEa ei voi laittaa paljaalle verkkotunnukselle.
Miksi ei paljaalle verkkotunnukselle?
Paljasta verkkotunnusta, example.com ilman mitään edessä, kutsutaan ammattikielellä apexiksi eli vyöhykkeen huipuksi. Tällä nimellä on aina tietueita, joiden täytyy olla olemassa:
- SOA-tietue (vyöhykkeen tekninen pääotsikko),
- NS-tietueet (mitkä nimipalvelimet hallinnoivat vyöhykettä),
- yleensä myös MX-tietueet (sähköposti) ja TXT-tietueet (SPF, varmennus).
Koska CNAME ei salli muita tietueita vierelleen, ja apexilla on aina SOA ja NS, apexilla ei voi olla CNAMEa. Tämä ei ole hallintapaneelisi rajoitus, vaan itse DNS:n.
Jos palvelu pyytää sinua yhdistämään "pääverkkotunnuksesi", ratkaisuja on kolme:
- A-tietue (ja mahdollisesti AAAA) palvelun IP-osoitteella. Useimmat verkkokauppa-alustat antavat tähän kiinteän osoitteen. Tämä toimii kaikkialla.
- ALIAS-, ANAME- tai "CNAME flattening" -tietue. Jotkin DNS-palveluntarjoajat tarjoavat oman tietuetyypin, joka käyttäytyy kuin CNAME mutta jonka nimipalvelin itse muuntaa A-tietueeksi ennen vastauksen lähettämistä. Tämä ei ole virallinen tietuetyyppi: se toimii vain palveluntarjoajilla, jotka tukevat sitä, ja sen nimi vaihtelee.
- Uudelleenohjaus. Osoita paljas verkkotunnus A-tietueella omalle verkkopalvelimellesi ja ohjaa kävijät sieltä eteenpäin osoitteeseen
www.example.com, jolla puolestaan on CNAME palveluun. Lue uudelleenohjauksesta lisää oppitunnilla 3.4.
Missä muualla CNAMEa ei saa käyttää
- MX-tietue ei saa osoittaa CNAMEen (RFC 2181, kappale 10.3). Sähköpostipalvelimen MX-tietueessa täytyy olla nimi, jolla on oma A- tai AAAA-tietue. Jotkin sähköpostipalvelimet selviävät siitä silti, mutta siihen ei voi luottaa.
- Ei CNAMEa nimelle, joka on myös aliverkkotunnuksena hostingpaneelissasi. Hostingpaneelin aliverkkotunnus saa automaattisesti tietueet, jotka osoittavat hostingiisi. Jos haluat nimen osoittavan toiseen palveluun, poista aliverkkotunnus ja tee vain CNAME-tietue.
- Ketjut ovat mahdollisia, mutta rajoita niitä. CNAME saa osoittaa nimeen, joka on itsekin CNAME. Jokainen askel maksaa ylimääräisen haun. Suuret alustat tekevät näin usein (näet silloin kaksi tai kolme CNAMEa peräkkäin), mutta älä itse tee pitkiä ketjuja.
Käytännössä: näin se näkyy hallintapaneelissa
Esimerkkinä käytämme Oma WebOkén DNS-näkymää. Muissa hallintapaneeleissa (DirectAdmin, cPanel, Plesk, Cloudflare, useimmat verkkotunnusvälittäjät) painikkeet ovat eri nimisiä, mutta täytät samat kolme asiaa: tyypin, nimen ja kohdenimen.
- Avaa verkkotunnuksesi DNS-näkymä ja klikkaa Add Record.
- Valitse tyypiksi CNAME.
- Kirjoita kohtaan Nimi vain
shop, ilman verkkotunnustasi. - Kirjoita kohtaan Osoittaa kohteeseen kohdenimi, pisteellä lopussa:
shops.platform.example. - Tallenna ja tarkista listasta, ettei arvon perässä näy omaa verkkotunnustasi.
Esimerkissä käytetty paneeli varoittaa, jos piste puuttuu. Kaikki paneelit eivät tee niin.
Yhteenveto
- CNAME tekee nimestä aliaksen toiselle nimelle; IP-osoite on silloin jonkun toisen hallinnassa.
- Laita piste kohdenimen loppuun, muuten DNS liittää perään oman verkkotunnuksesi.
- Nimellä, jolla on CNAME, ei saa olla muita tietueita.
- Siksi CNAMEa ei voi käyttää paljaalla verkkotunnuksella: siellä on aina SOA ja NS. Käytä sen sijaan A-tietuetta, DNS-palveluntarjoajasi ALIAS-tyyppistä tietuetta tai uudelleenohjausta.
- MX-tietue ei saa osoittaa CNAMEen.
Tietovisa
Tehtävä
Tehtävä Z3.2: Seuraa CNAMEa. Mihin nimeen osoittaa verkkotunnuksen en.wikipedia.org CNAME-tietue? Kirjoita kohdenimi.
Tehtävä O3.2: Aseta itse harjoitusvyöhykkeessäsi. Tee harjoitusvyöhykkeeseesi CNAME-tietue nimellä winkel, joka osoittaa kohteeseen shops.shop-demo.dnspractice.eu. (pisteen kanssa). Varmista, ettei nimellä winkel ole muita tietueita. Harjoitusvyöhykkeessä käytetään kuvitteellista palvelua; oikealla verkkotunnuksellasi kirjoitat kohdenimen, jonka todellinen palvelu antaa. Klikkaa lopuksi Tarkista.
Tehtävä O3.2
Teet tämän tehtävän omassa harjoitusvyöhykkeessäsi: aidossa DNS-vyöhykkeessä WebOkén nimipalvelimilla, vain sinua varten. Kirjaudu sähköpostiosoitteellasi. Saat kirjautumislinkin sähköpostiisi ja palaat sen jälkeen tälle oppitunnille. Käytämme osoitettasi vain tätä kurssia varten.
Lue lisää
Nämä artikkelit kuvaavat vaiheet WebOkén hallintapaneeleissa; muissa paneeleissa toiminta on vastaavaa.
