Se hai letto il capitolo sui tipi di record DNS, sai già che ogni record conservato su un name server ha un compito preciso. Un record A collega un nome di dominio a un indirizzo IP. Un record MX gestisce l'instradamento dell'email. Un record CNAME funziona in modo diverso da entrambi. Invece di puntare a un indirizzo IP o a un server di posta, punta un nome di dominio a un altro nome di dominio. Questa semplice differenza lo rende uno dei record più utili e più fraintesi del DNS.
Cosa significa CNAME?
CNAME sta per canonical name, nome canonico. In questo contesto "canonico" vuol dire ufficiale o principale. Quando crei un record CNAME, stai dicendo che un hostname è solo un alias di un altro. L'hostname di destinazione è il nome canonico e l'alias lo segue ovunque vada.
Per esempio, se configuri un record CNAME in modo che "www.yoursite.com" punti a "yoursite.com", stai dicendo al DNS che "www.yoursite.com" è un alias. Il nome canonico è "yoursite.com". Ogni volta che qualcuno cerca la versione www, il DNS segue l'alias e risolve invece il nome canonico.
Come funziona un record CNAME?
Un record CNAME, spiegato in parole semplici, funziona come un indirizzo di inoltro. Il browser chiede al DNS l'indirizzo IP di un hostname. Il DNS trova un record CNAME su quell'hostname. Invece di restituire un indirizzo IP, restituisce un altro nome di dominio. Il browser cerca allora quel secondo nome di dominio e segue il suo record A per raggiungere il server vero.
Ecco cosa succede passo dopo passo.
- Un visitatore scrive "blog.yoursite.com" nel browser
- Il browser chiede al DNS di risolvere "blog.yoursite.com"
- Il DNS trova un record CNAME che punta "blog.yoursite.com" a "yoursite.com"
- Il DNS cerca quindi il record A di "yoursite.com"
- Il record A restituisce l'indirizzo IP del server
- Il browser si collega a quell'indirizzo IP e carica la pagina
Il passaggio in più avviene dietro le quinte e richiede solo millisecondi. Il visitatore non lo vede mai. Il vantaggio è che, se cambi l'indirizzo IP del record A di "yoursite.com", ogni alias CNAME che punta a quel nome lo segue in automatico. Aggiorni un solo record invece di tanti.
Che aspetto ha un record CNAME?
Un record CNAME ha quattro parti. Ognuna ha uno scopo preciso.
- Hostname (nome) è l'alias che stai creando. È il nome di dominio che punterà altrove. Un valore di esempio è "www" o "blog"
- Tipo dice al DNS che si tratta di un record CNAME
- Destinazione (valore) è il nome di dominio canonico a cui punta l'alias. Un valore di esempio è "yoursite.com"
- TTL (time to live) controlla per quanto tempo i server DNS tengono in cache questo record prima di cercare aggiornamenti. Si misura in secondi. Un valore comune è 3600, cioè un'ora
In un pannello di gestione DNS, una voce CNAME tipica mostra "www" come hostname, "CNAME" come tipo, "yoursite.com" come destinazione e "3600" come TTL.
Quando usare un record CNAME?
I record CNAME sono utili ogni volta che vuoi che un hostname ne segua un altro. Ecco le situazioni più comuni.
Puntare www al dominio principale
L'uso più comune di un record CNAME è far puntare "www.yoursite.com" a "yoursite.com". Il dominio principale ha un record A con l'indirizzo IP del server. La versione www ha un CNAME che punta al dominio principale. Se l'IP del server cambia, aggiorni solo il record A. L'alias www lo segue in automatico.
Collegare i sottodomini a servizi esterni
Molti servizi di terze parti ti chiedono di creare un record CNAME per collegare il tuo sottodominio alla loro piattaforma. Per esempio, potresti puntare "shop.yoursite.com" all'indirizzo del server di un servizio esterno. Il CNAME ti permette di usare il tuo nome di dominio mentre il servizio gestisce l'hosting dietro le quinte.
Configurare una CDN
Una content delivery network (CDN) velocizza il sito servendo i file da server più vicini a ogni visitatore. Per usare una CDN spesso crei un record CNAME che punta il dominio o il sottodominio all'indirizzo del fornitore della CDN. Così il traffico passa attraverso la loro rete senza cambiare la tua configurazione di hosting.
Gestire in modo efficiente più sottodomini
Se hai diversi sottodomini che devono tutti raggiungere lo stesso server, puoi puntarli tutti come alias CNAME a un solo dominio che ha il record A. Quando l'indirizzo IP del server cambia, aggiorni un solo record A invece di aggiornare ogni sottodominio.
Qual è la differenza tra un record CNAME e un record A?
La differenza principale è a cosa punta ciascun record. Un record A collega un nome di dominio direttamente a un indirizzo IP. Un record CNAME collega un nome di dominio a un altro nome di dominio. Il record A è la destinazione finale. Il CNAME è un rinvio che porta alla destinazione finale.
Ecco le differenze principali.
- Un record A contiene un indirizzo IP. Un CNAME contiene un nome di dominio
- Un record A può esistere su qualsiasi hostname, compreso il dominio principale. Un CNAME non può esistere sul dominio principale
- Un record A si risolve in un solo passaggio. Un CNAME aggiunge un passaggio di ricerca in più, perché il DNS deve seguire l'alias e poi risolvere il record A della destinazione
- Un record A va aggiornato a mano se l'indirizzo IP cambia. Un CNAME segue in automatico qualunque indirizzo IP risolva la destinazione
Usa un record A quando conosci l'indirizzo IP ed è improbabile che cambi. Usa un CNAME quando vuoi che un hostname ne segua un altro, soprattutto quando l'indirizzo IP dietro è gestito da qualcun altro.
Quali sono le regole e i limiti dei record CNAME?
I record CNAME hanno regole specifiche nelle specifiche DNS che li rendono diversi dagli altri tipi di record. Violare queste regole causa errori che possono mandare offline il sito o l'email.
Un CNAME non può esistere sul dominio principale
Le specifiche DNS non permettono un record CNAME sul dominio principale (apex). Il dominio principale è la versione nuda del dominio senza prefisso, come "yoursite.com" invece di "www.yoursite.com". Questo limite esiste perché i record CNAME non possono convivere con altri tipi di record sullo stesso hostname, e il dominio principale ha bisogno di altri record (come i record MX per l'email e i record NS per i nameserver) per funzionare.
Se ti serve che il dominio principale punti da qualche parte, usa invece un record A. Alcuni fornitori DNS offrono una soluzione chiamata record ALIAS o ANAME, che funziona come un CNAME ma è ammesso sul dominio principale. Non tutti i fornitori la supportano.
Un CNAME non può condividere un hostname con altri record
Se un hostname ha un record CNAME, non può avere altri tipi di record su quello stesso hostname. Niente record A, niente record MX, niente record TXT. Il CNAME deve essere l'unico record su quel nome. Per questo non puoi mettere un CNAME sul dominio principale, perché il dominio principale ha già bisogno dei record NS e di solito anche di record MX e TXT.
Le catene di CNAME vanno evitate
Una catena di CNAME si crea quando un CNAME punta a un altro CNAME, che punta a un altro CNAME, prima di arrivare finalmente a un record A. Il DNS può tecnicamente seguire queste catene, ma ogni passaggio aggiunge tempo di ricerca e aumenta la probabilità di timeout o errore. Mantieni le cose semplici. Punta ogni CNAME direttamente a un hostname che ha un record A.
Come si aggiunge un record CNAME?
Aggiungere un record CNAME segue gli stessi passaggi generali con la maggior parte dei fornitori DNS. Il layout esatto della pagina delle impostazioni cambia, ma le informazioni da inserire sono le stesse ovunque.
- Accedi al pannello di gestione DNS dove sono impostati i nameserver del tuo dominio. Di solito è il registrar o il fornitore di hosting
- Trova la sezione dei record DNS o l'editor della zona DNS
- Clicca l'opzione per aggiungere un nuovo record
- Seleziona CNAME come tipo di record
- Inserisci l'hostname che vuoi creare come alias (per esempio "www" o "blog")
- Inserisci il nome di dominio di destinazione a cui deve puntare l'alias (per esempio "yoursite.com" o l'indirizzo di un fornitore di servizi)
- Imposta il TTL. Se non sei sicuro, usa il valore predefinito suggerito dal fornitore oppure impostalo a 3600 (un'ora)
- Salva il record
Le modifiche DNS possono richiedere da pochi minuti a 48 ore per diffondersi su internet. Questo ritardo si chiama propagazione DNS. In questo periodo alcuni visitatori possono ancora vedere le vecchie impostazioni mentre altri vedono quelle nuove. Per saperne di più su come funziona il processo, leggi il capitolo su come funziona il DNS.
Quali sono gli errori comuni con i CNAME?
La maggior parte dei problemi con i CNAME nasce da pochi errori ripetuti. Conoscerli in anticipo fa risparmiare tempo ed evita interruzioni.
- Mettere un CNAME sul dominio principale. Rompe il DNS. Usa invece un record A sul dominio principale
- Aggiungere altri record accanto a un CNAME. Se un hostname ha un CNAME, deve essere l'unico record su quell'hostname. Aggiungere un record MX o TXT sullo stesso hostname crea conflitti
- Creare catene di CNAME. Puntare un CNAME a un altro CNAME a un altro CNAME aggiunge ricerche inutili. Punta ogni CNAME direttamente a un hostname che si risolve con un record A
- Dimenticare il punto finale. Alcuni fornitori DNS richiedono un punto alla fine del dominio di destinazione (come "yoursite.com.") per indicare che è un nome di dominio completo. Se lo ometti, il fornitore potrebbe aggiungere altro testo alla destinazione
- Usare un CNAME quando un record A è meglio. Se controlli il server e l'indirizzo IP è stabile, un record A è più semplice e si risolve più in fretta. Usa un CNAME quando l'IP di destinazione può cambiare o è gestito da una terza parte
Come WEMASY gestisce i record CNAME
Quando colleghi un dominio personalizzato al tuo sito WEMASY, WEMASY ti dice esattamente quali record DNS aggiungere. Per i sottodomini, di solito significa creare un record CNAME che punta ai server di WEMASY. WEMASY gestisce hosting, SSL e instradamento dall'altra parte, quindi una volta inserito il CNAME il tuo sottodominio si collega al sito in automatico.
Per i domini principali, WEMASY fornisce invece i valori del record A, perché i record CNAME non si possono usare sul dominio principale. La guida di configurazione ti accompagna in entrambe le opzioni, a seconda del tipo di dominio che stai collegando. Scopri cosa include ogni piano nella pagina dei prezzi di WEMASY.
Cosa viene dopo
Ora che hai capito come i record CNAME creano alias tra nomi di dominio, il prossimo capitolo tratta un altro tipo di record essenziale. I record MX controllano dove viene consegnata l'email del tuo dominio e seguono regole proprie. Ne parliamo nel prossimo capitolo su cos'è un record MX. Per una panoramica di tutti i tipi di record e di quando usare ciascuno, vedi il capitolo sui tipi di record DNS.
Un record CNAME può puntare a un indirizzo IP?
No. Un record CNAME può puntare solo a un altro nome di dominio, mai a un indirizzo IP. Se devi puntare un hostname direttamente a un indirizzo IP, usa un record A (per IPv4) o un record AAAA (per IPv6). Lo scopo di un CNAME è creare un alias tra due nomi di dominio.
Un record CNAME influisce sulla velocità del sito?
Un CNAME aggiunge una ricerca DNS in più, perché il browser deve prima risolvere l'alias e poi la destinazione. In pratica questo passaggio richiede pochi millisecondi e di solito non si nota. Se la velocità è un problema, evita le catene di CNAME in cui più alias puntano l'uno all'altro, perché ogni passaggio aggiunge un'altra ricerca.
Cosa succede se la destinazione di un record CNAME va offline?
Se il nome di dominio a cui punta un CNAME smette di essere risolto o il server dietro va fuori uso, anche il tuo alias smette di funzionare. Il CNAME segue la destinazione ovunque vada, anche nei periodi di inattività. Nel record CNAME non c'è nessuna alternativa di riserva.
Un CNAME è lo stesso di un reindirizzamento?
No. Un CNAME è un alias a livello DNS che dice al browser dove trovare il server. L'URL nel browser resta lo stesso. Un reindirizzamento è un'istruzione a livello di server che manda il browser a un URL completamente diverso, e l'URL nel browser cambia. Un CNAME collega i nomi di dominio dietro le quinte. Un reindirizzamento manda i visitatori a un nuovo indirizzo.
Si possono usare un CNAME e un record A sullo stesso hostname?
No. Le specifiche DNS non permettono a un CNAME di convivere con altri tipi di record sullo stesso hostname. Se un hostname ha un CNAME, deve essere l'unico record su quel nome. È uno dei motivi per cui un CNAME non può stare sul dominio principale, che ha già bisogno di record NS e spesso anche di record MX e TXT.