Cos'è un record CNAME?
Un record CNAME (Canonical Name) è un tipo di record DNS che crea un alias da un nome di dominio a un altro. Invece di puntare direttamente a un indirizzo IP come un record A, un CNAME punta a un altro nome di dominio, che viene poi risolto a un indirizzo IP.
Come funzionano i record CNAME
Quando configuri un CNAME:
www.example.com. IN CNAME example.com.
Il processo di risoluzione:
1. L'utente richiede www.example.com
2. DNS trova CNAME che punta a example.com
3. DNS risolve quindi il record A di example.com
4. L'indirizzo IP finale viene restituito
Questa risoluzione della catena significa che i target CNAME devono infine risolvere a un record A o AAAA.
Casi di utilizzo comune di CNAME
Sottodominio WWW
Punta www al tuo dominio root:
www IN CNAME example.com.
Integrazione CDN
Punta il tuo dominio a un endpoint CDN:
cdn.example.com IN CNAME d111111abcdef8.cloudfront.net.
Hosting della piattaforma
Punta ai provider di hosting:
blog.example.com IN CNAME yoursite.wordpress.com.
shop.example.com IN CNAME shops.myshopify.com.
Applicazioni SaaS
Connetti i sottodomini alle piattaforme SaaS:
docs.example.com IN CNAME example.gitbook.io.
status.example.com IN CNAME stats.uptimerobot.com.
CNAME vs Record A
| Scenario | Usa CNAME | Usa Record A |
|---|---|---|
| Dominio root (@) | ❌ Non consentito | ✅ Obbligatorio |
| Sottodominio a IP statico | Entrambi funzionano | ✅ Diretto |
| Sottodominio al provider | ✅ Preferito | ❌ IP può cambiare |
| Configurazione CDN | ✅ Tipico | Varia |
| Bilanciamento del carico | ❌ Non può avere multipli | ✅ IP multipli |
Perché i domini root non possono usare CNAME
La specifica DNS (RFC 1034) vieta i record CNAME di coesistere con altri tipi di record con lo stesso nome. Poiché i domini root hanno bisogno di record SOA e NS, non possono avere record CNAME.
Soluzioni per l'aliasing del dominio root:- Record ALIAS/ANAME: Record pseudo specifici del provider DNS
- Appiattimento CNAME: Cloudflare e altri risolvono i CNAME ai record A
- Redirect www a root: Usa CNAME per www, reindirizza a @ a livello di applicazione
Catene CNAME
I CNAME possono puntare ad altri CNAME (concatenamento):
blog.example.com → myblog.host.com
myblog.host.com → lb-1234.hosting.com
lb-1234.hosting.com → 203.0.113.50 (A record)
Sebbene valido, le catene aggiungono latenza. La maggior parte dei provider DNS limita la lunghezza della catena per prevenire loop infiniti.
Configurazione del record CNAME
Sintassi di base
subdomain IN CNAME target.domain.com.
Importante: Il dominio di destinazione dovrebbe includere un punto finale (.) per indicare che è completamente qualificato. Senza di esso, alcuni server DNS aggiungono il dominio di origine.
Considerazioni TTL
I TTL CNAME influenzano la velocità di propagazione dei cambiamenti:
www 300 IN CNAME example.com.
TTL più bassi (300 secondi) consentono aggiornamenti più veloci; TTL più alti riducono le query DNS.
Controllo dei record CNAME
Usando dig:dig www.example.com CNAME
; ANSWER SECTION:
www.example.com. 300 IN CNAME example.com.
Traccia di risoluzione completa:
dig +trace www.example.com
Problemi comuni di CNAME
CNAME nel dominio root
example.com IN CNAME other.com. ; NON VALIDO
Ciò rompe la posta (record MX) e altri servizi.
CNAME con altri record
blog.example.com IN CNAME host.com.
blog.example.com IN MX mail.host.com. ; NON VALIDO
Un nome con CNAME non può avere altri tipi di record.
Mancanza di record di destinazione
Se il target CNAME non si risolve, nemmeno il sottodominio funzionerà. Verifica che i target siano validi prima di configurare i CNAME.
Procedure consigliate
1. Usa i CNAME per i servizi di terze parti: Consenti ai provider di gestire i cambiamenti IP
2. Evita catene profonde: Ogni hop aggiunge latenza
3. Non CNAME il root: Usa record A o ALIAS
4. Includi punti finali: Garantisci nomi di destinazione completamente qualificati
5. Monitora i target CNAME: I cambiamenti esterni possono influenzare il tuo sito