Modul 3 · 3.2
CNAME och den nakna domänen
Modul 3: Poster för din webbplats · Lästid: 8 minuter
Lärandemål: Efter den här lektionen kan du skapa ett CNAME-post korrekt och förklara varför det inte kan ligga på den nakna domänen.
Nyckelbegrepp: CNAME, alias, målnamn, CNAME-regeln (inga andra poster bredvid), apex (naken domän), ALIAS/ANAME/CNAME flattening
Ett namn som pekar på ett annat namn
Ett A-post säger: "det här namnet bor på den här adressen". Ett CNAME-post (från canonical name) säger något annat: "det här namnet är egentligen ett annat namn, fråga där istället". Du skapar då ett alias.
shop.example.com. 3600 IN CNAME shops.platform.example.Frågar en webbläsare efter adressen till shop.example.com, svarar DNS: "det är shops.platform.example". Resolvern letar då upp A- eller AAAA-posten för det namnet och returnerar den adressen. Besökaren märker inget: adressfältet visar bara shop.example.com.
Varför skulle du vilja göra det? Därför att IP-adressen då blir någon annans problem. En plattform för e-handel, nyhetsbrevstjänst eller molnpartner kan flytta sina servrar och ändra adresserna utan att du behöver ändra något. Därför ber många tjänster om ett CNAME istället för ett A-post: "låt www peka på shops.platform.example".
Punkten i slutet
I lektion 2.2 såg du att ett namn utan punkt i slutet läses som relativt: DNS lägger till ditt eget domännamn efter det. Vid ett CNAME går det väldigt ofta fel.
| Du skriver som värde | Vad DNS gör med det |
|---|---|
shops.platform.example. | shops.platform.example (korrekt) |
shops.platform.example | shops.platform.example.example.com (finns inte) |
Många kontrollpaneler lägger numera till punkten själva eller varnar dig. Andra gör det inte. Kontrollera därför efter att du sparat i listan: ser du ditt eget domännamn efter värdet, saknades punkten.
Samma regel gäller för mailservern i ett MX-post och för NS-poster. Vid en IP-adress i ett A-post sätter du ingen punkt.
CNAME-regeln: inget bredvid
Ett CNAME har en hård regel från DNS-standarden (RFC 1034, avsnitt 3.6.2, och RFC 2181): ett namn med ett CNAME får inte ha några andra poster. Logiskt: CNAME:et säger "jag är egentligen det där andra namnet". Finns det då också ett A-post eller ett MX-post, är det oklart vilket svar som gäller.
Av det följer två saker du stöter på i praktiken:
- Finns det redan ett A-post för
shop, ta bort det först. En kontrollpanel avvisar annars CNAME-posten, eller värre, accepterar den och DNS börjar bete sig konstigt. - Ett CNAME på den nakna domänen går inte.
Varför inte på den nakna domänen?
Den nakna domänen, example.com utan något framför, kallas på fackspråk apex eller toppen av zonen. På det namnet finns alltid poster som måste finnas:
- SOA-posten (zonens tekniska huvud),
- NS-posterna (vilka namnservrar som hanterar zonen),
- oftast även MX-poster (mail) och TXT-poster (SPF, verifiering).
Eftersom ett CNAME inte tillåter andra poster bredvid sig, och apex alltid har SOA och NS, kan det inte finnas ett CNAME på apex. Det är ingen begränsning i din kontrollpanel, utan i själva DNS.
Ber en tjänst dig att koppla "din huvuddomän", finns det tre lösningar:
- Ett A-post (och eventuellt AAAA) med tjänstens IP-adress. De flesta e-handelsplattformar anger en fast adress för detta. Det fungerar överallt.
- En ALIAS-, ANAME- eller "CNAME flattening"-post. Vissa DNS-leverantörer erbjuder en egen posttyp som beter sig som ett CNAME, men som namnservern själv omvandlar till ett A-post innan svaret skickas iväg. Det här är ingen officiell posttyp: den fungerar bara hos leverantörer som stöder den, och den heter olika saker på olika håll.
- Vidarebefordran. Låt den nakna domänen peka med ett A-post till din egen webbserver, och låt den skicka besökare vidare till
www.example.com, som har ett CNAME till tjänsten. Hur vidarebefordran fungerar kan du läsa om i lektion 3.4.
Var ett CNAME inte heller får användas
- Ett MX-post får inte peka på ett CNAME (RFC 2181, avsnitt 10.3). Mailservern i ett MX måste vara ett namn med en egen A- eller AAAA-post. Vissa mailservrar klarar sig ändå, men du kan inte räkna med det.
- Inget CNAME på ett namn som du också har som subdomän i din hostingpanel. En subdomän i panelen får redan egna poster som pekar på ditt hosting. Vill du att namnet ska peka på en annan tjänst, ta bort subdomänen och skapa bara CNAME-posten.
- Kedjor går, men begränsa dem. Ett CNAME får peka på ett namn som i sin tur är ett CNAME. Varje steg kostar en extra uppslagning. Stora plattformar gör ofta så (du ser då två eller tre CNAME i rad), men skapa inte själv långa kedjor.
I praktiken: så ser det ut i en kontrollpanel
Som exempel använder vi DNS-skärmen i Mitt WebOké. I andra kontrollpaneler (DirectAdmin, cPanel, Plesk, Cloudflare, de flesta registrarer) heter knapparna annorlunda, men du fyller i samma tre saker: typ, namn och målnamn.
- Öppna DNS-skärmen för din domän och klicka på Lägg till post.
- Välj typen CNAME.
- Fyll i Namn med bara
shop, utan ditt domännamn. - Fyll i Pekar på med målnamnet, med en punkt i slutet:
shops.platform.example. - Spara och kontrollera i listan att det inte står ditt eget domännamn efter värdet.
Kontrollpanelen i exemplet varnar om punkten saknas. Inte alla paneler gör det.
Sammanfattning
- Ett CNAME gör ett namn till ett alias för ett annat namn; IP-adressen hanteras då av den andra parten.
- Sätt en punkt i slutet av målnamnet, annars lägger DNS till din egen domän efter det.
- Ett namn med ett CNAME får inte ha några andra poster.
- Därför kan ett CNAME inte ligga på den nakna domänen: där finns alltid SOA och NS. Använd där ett A-post, en ALIAS-liknande post från din DNS-leverantör eller vidarebefordran.
- Ett MX-post får inte peka på ett CNAME.
Quiz
Uppgift
Uppgift Z3.2: Följ ett CNAME. Vilket namn pekar CNAME-posten för en.wikipedia.org på? Fyll i målnamnet.
Uppgift O3.2: Ställ in själv i din övningszon. Skapa i din övningszon ett CNAME-post med namnet winkel som pekar på shops.shop-demo.dnspractice.eu. (med punkten). Se till att det inte finns någon annan post för winkel. I övningszonen använder du en låtsastjänst; i din riktiga domän fyller du i det målnamn som den riktiga tjänsten anger. Klicka sedan på Kontrollera.
Uppgift O3.2
Den här uppgiften gör du i din egen övningszon: en riktig DNS-zon på WebOkés namnservrar, bara för dig. Logga in med din e-postadress. Du får en inloggningslänk via mejl och kommer sedan tillbaka till den här lektionen. Vi använder din adress bara för kursen.
Läs mer
De här artiklarna beskriver stegen i WebOkés kontrollpaneler; i andra kontrollpaneler fungerar det på liknande sätt.
