Qu'est-ce qu'un enregistrement CNAME ?

Un enregistrement CNAME fait d'un nom d'hôte l'alias d'un autre : le résolveur reprend la recherche avec le nom cible et utilise les enregistrements qu'il y trouve.

CNAME signifie « canonical name », nom canonique. Si www.example.com est un CNAME vers example.com, un résolveur interrogé sur l'adresse de www.example.com suit l'alias et renvoie les enregistrements A et AAAA de example.com. C'est pratique lorsqu'un tiers héberge le service : vous pointez un nom vers le nom d'hôte du fournisseur, et celui-ci peut changer les adresses sous-jacentes sans que vous touchiez à votre zone.

La restriction importante est qu'un nom doté d'un CNAME ne peut avoir aucun autre enregistrement. C'est pourquoi un CNAME ne peut pas être placé à l'apex d'une zone (example.com lui-même), qui doit porter les enregistrements SOA et NS. Les fournisseurs DNS contournent cela avec des fonctions propriétaires « ALIAS », « ANAME » ou d'aplatissement de CNAME (CNAME flattening), qui résolvent la cible de leur côté et répondent avec de simples enregistrements A et AAAA.

Un CNAME pointe vers un nom, jamais vers une adresse IP, et ne devrait pas pointer vers une longue chaîne d'autres CNAME : chaque saut coûte une requête supplémentaire. Les enregistrements MX et NS ne doivent pas pointer vers un nom qui est lui-même un CNAME.

Exemple

www.example.com.   3600  IN  CNAME  example.com.
shop.example.com.  3600  IN  CNAME  stores.platform.example.

Vérifier

Voyez ce que cela donne sur un vrai domaine (Enregistrement CNAME) :

Recherche DNS