Enregistrement DNS CNAME

L'enregistrement CNAME fonctionne comme un alias pour les noms de domaine.

 

Qu'est-ce qu'un enregistrement DNS CNAME ?

L’enregistrement CNAME (Canonical Name Record, ou en Français enregistrement de « nom canonique ») permet de faire pointer (ou "rediriger") un sous-domaine vers un autre domaine dit « canonique » (ou vrai nom de domaine). Le sous-domaine devient ainsi un alias, ou synonyme, du domaine vers lequel il pointe.

Un enregistrement CNAME peut être utilisé pour référencer l'alias d'un domaine au lieu de son nom réel.

Les enregistrements CNAME pointent généralement vers un enregistrement A (avec une adresse IP au format IPv4) ou un enregistrement AAAA (IPv6).

Un enregistrement CNAME est utilisé à la place d'un enregistrement de type A, lorsqu'un sous-domaine est un alias d'un autre domaine. Tous les enregistrements CNAME doivent pointer vers un domaine, jamais vers une adresse IP.

Un enregistrement CNAME ne peut pas être créé pour un domaine.

 

Voici un exemple d'enregistrement CNAME :

exemple.alias.com. 86400 IN CNAME domaine.com.
domaine.com. 86400 IN A 195.64.164.87

 

exemple.alias.com type d'enregistrement valeur TTL
@ CNAME est un alias de domaine.com 86400


Dans cet exemple, vous pouvez voir que exemple.alias.com pointe vers domaine.com, et comme nous savons qu'il est basé sur l'enregistrement A de domaine.com, nous pouvons donc en conclure qu'il sera finalement résolu à l'adresse IP 195.64.164.87.

Cela signifie que lorsqu'un serveur DNS consultera les enregistrements DNS pour exemple.alias.com, il effectuera en réalité une autre consultation DNS vers domaine.com, renvoyant l'adresse IP de l'enregistrement A de domaine.com. Dans ce cas, on dit que domaine.com est le nom « canonique » (ou vrai nom de domaine) de exemple.alias.com.

L’avantage est de saisir https://exemple.alias.com ou bien https://domaine.com et de tomber sur le même site qui est hébergé sur le serveur dont l’IP est 195.64.164.87 dans notre exemple.

Si le serveur qui héberge le site change d’IP, la modification ne sera ainsi à faire qu’une seule fois sur l’entrée A de domaine.com avec l’actualisation de l’adresse IP.

Souvent, lorsque des sites ont des sous-domaines tels que blog.domaine.com ou shop.domaine.com, ces sous-domaines possèdent des enregistrements CNAME qui pointent vers le domaine racine domaine.com. De cette façon, si l'adresse IP de l'hôte change, seul l'enregistrement DNS A pour le domaine racine doit être mis à jour et tous les enregistrements CNAME suivront avec toutes les modifications apportées à la racine.

Dans notre exemple, il suffit de remplacer l'adresse IP 195.64.164.87 de l'enregistrement A de domaine.com par la nouvelle 195.64.164.188 pour mettre à jour également le CNAME et donc le pointage de exemple.alias.com :

exemple.alias.com. 86400 IN CNAME domaine.com.
domaine.com. 86400 IN A 195.64.164.188

 

Cependant, un enregistrement CNAME ne doit pas forcément être résolu sur le même site Web que le domaine vers lequel il pointe. L'enregistrement CNAME pointe uniquement vers la même adresse IP que le domaine « canonique ». Une fois l'adresse IP atteinte, le serveur web traitera toujours l'URL en conséquence. Ainsi, par exemple, blog.domaine.com ou shop.domaine.com, peuvent avoir un CNAME qui pointe vers domaine.com, dirigeant le visiteur vers l'adresse IP de domaine.com. Pour autant, lorsque le navigateur se connecte réellement à cette adresse IP, le serveur web examine l'URL, voit qu'il s'agit de blog.domaine.com ou shop.domaine.com, et fournit alors la page correspondante au sous-domaine, le blog ou la boutique en ligne, plutôt que la page d'accueil du site Web de domaine.com.

Par exemple :

blog.domaine.com 33200 IN CNAME domaine.com.
shop.domaine.com 33200 IN CNAME domaine.com.
blog.domaine.com type d'enregistrement valeur TTL
@ CNAME est un alias de domaine.com 86400
shop.domaine.com type d'enregistrement valeur TTL
@ CNAME est un alias de domaine.com 86400

 

 

Pourquoi utiliser un enregistrement CNAME ?

Un CNAME vous permet de faire pointer un sous-domaine alias vers l’URL de son domaine racine ou d’un autre domaine.

Par exemple :

blog.exemple.com 33200 IN CNAME yourblog.wordpress.com.
www.exemple.com 33200 IN CNAME yourblog.wordpress.com.
blog.exemple.com type d'enregistrement valeur TTL
@ CNAME est un alias de yourblog.wordpress.com 86400
www.exemple.com type d'enregistrement valeur TTL
@ CNAME est un alias de yourblog.wordpress.com 86400


Les enregistrements CNAME ci-dessus permettent de rediriger les visiteurs vers votre WordPress (yourblog.wordpress.com) lorsqu’ils utilisent les URLs blog.exemple.com et www.exemple.com, en plus de l’URL principale yourblog.wordpress.com.

 

Quand ne pas utiliser un enregistrement CNAME ?

Un enregistrement CNAME ne peut pas être créé pour un domaine. L’enregistrement doit obligatoirement comporter un sous-domaine. Un enregistrement CNAME ne peut pas être créé à l'apex d'une zone. En savoir plus.

NB : Ne pas confondre le CNAME avec une redirection web (URL ou IP), ou avec un ANAME ou ALIAS, ou encore avec un DNAME.

Restrictions : Une entrée CNAME ne peut pas cohabiter avec une entrée d’un autre type sur un sous-domaine. Cela signifie notamment que pour la racine du domaine, on ne peut pas créer un CNAME, puisqu’au minimum on a déjà des entrées NS et une entrée SOA. L'enregistrement CNAME rentre en conflit avec les enregistrements qu'on trouve à l'apex d'une zone, comme le SOA et les NS. En outre, les enregistrements MX et NS ne peuvent pas pointer vers un enregistrement CNAME ; ils doivent obligatoirement pointer vers un enregistrement A (IPv4) ou un enregistrement AAAA (IPv6).

 

Un enregistrement CNAME peut-il pointer vers un autre enregistrement CNAME ?

Oui, c'est possible mais non conseillé. En effet, faire pointer un enregistrement CNAME vers un autre enregistrement CNAME est inefficace, car cela implique plusieurs consultations du DNS avant que le site Web ne puisse être chargé, ce qui ralentit la résolution, et donc impacte négativement la navigation et l'expérience utilisateur. Cette configuration ajoute une étape supplémentaire (au moins) au processus de requête DNS et doit donc être évitée si possible pour optimiser la résolution et l'expérience utilisateur.

 

Conclusion :

• Un enregistrement CNAME permet de rediriger un sous-domaine vers un domaine mais ne peut pas être créé à la racine de votre domaine ;

• Un enregistrement CNAME peut faciliter la gestion DNS, en permettant lors d'un changement d’IP par exemple, une seule et unique modification sur l'entrée du nom canonique vers laquelle le CNAME pointe ;

• Un enregistrement CNAME doit obligatoirement pointer vers un domaine / sous-domaine, et ne peut pas pointer vers une IP ;

• Un enregistrement CNAME ne peut pas être créé pour un domaine ;

• L’enregistrement CNAME doit obligatoirement comporter un sous-domaine ;

• Un enregistrement CNAME ne peut pas cohabiter avec une entrée d’un autre type sur un sous-domaine ;

• Un enregistrement CNAME ne devrait pas pointer vers un autre enregistrement CNAME ;

• Les enregistrements MX et NS ne doivent pas pointer vers un CNAME.