Tous les services opérationnels Devise EUR Aucun frais de mise en service Vous êtes à La Réunion ?
‹ Noms de domaine et DNS

Enregistrement CNAME : usage et limites

Un enregistrement CNAME fait d'un nom l'alias d'un autre : au lieu de donner une adresse, il dit « va voir là-bas ». On l'emploie pour un sous-domaine qui doit suivre un service dont l'adresse peut changer, comme une boutique hébergée ou une plateforme de courriels. Un nom qui porte un CNAME ne peut rien porter d'autre, ce qui l'exclut du domaine nu.

Par Jonathan Dewaele · publié le

Comment fonctionne un alias

La RFC 1035 définit le CNAME comme le nom canonique d'un alias : la valeur est le nom principal, le nom de l'enregistrement est l'alias. Quand un résolveur rencontre un CNAME, il recommence sa recherche avec le nom canonique, jusqu'à trouver une adresse.

boutique.exemple.fr.  3600  IN  CNAME  magasin.plateforme.exemple.

Ici, boutique.exemple.fr n'a pas d'adresse propre : il prend celle de magasin.plateforme.exemple. Si la plateforme change de serveur, votre sous-domaine suit sans que vous touchiez à votre zone.

Quand l'utiliser

  • Un sous-domaine qui doit pointer vers un service externe : une boutique, un outil de prise de rendez-vous, un centre d'aide hébergé ailleurs. Le service vous donne alors un nom cible à mettre en CNAME.
  • Les vérifications de propriété ou de messagerie que certains fournisseurs demandent sous forme de CNAME, par exemple pour la signature DKIM des courriels.
  • « www » vers le domaine nu, pour n'entretenir qu'une seule adresse IP.

Pour pointer un nom vers une adresse IP connue, un enregistrement A suffit et évite une recherche supplémentaire : voir les enregistrements DNS.

La règle qui cause la plupart des erreurs

Un nom qui porte un CNAME ne peut porter aucun autre enregistrement. La RFC 2181 le formule ainsi : un nom a soit un CNAME (accompagné au plus d'enregistrements DNSSEC), soit d'autres enregistrements, jamais les deux.

Deux conséquences pratiques :

  1. Le domaine nu ne peut pas être un CNAME. exemple.fr porte forcément des NS et un SOA, et souvent des MX et des TXT. Y ajouter un CNAME est interdit, et la plupart des interfaces le refusent. Pour le domaine nu, on utilise un enregistrement A. Certains gestionnaires DNS proposent un équivalent maison (ALIAS, ANAME ou « CNAME flattening ») qui résout la cible à votre place et publie des A : ce n'est pas un CNAME standard.
  2. Un MX ne doit pas viser un CNAME. La même RFC exige que le serveur désigné par un MX ait ses propres adresses. Voir l'enregistrement MX.

Créer un CNAME

  1. Relevez le nom cible que vous donne le service (par exemple magasin.plateforme.exemple). C'est un nom, jamais une adresse IP.
  2. Ouvrez la zone DNS chez le gestionnaire du domaine.
  3. Vérifiez que le sous-domaine ne porte rien d'autre. S'il a déjà un enregistrement A ou TXT, supprimez-le : le CNAME ne pourra pas coexister.
  4. Ajoutez l'enregistrement : nom « boutique », type CNAME, valeur le nom cible. Selon l'interface, terminez la valeur par un point ou laissez l'outil l'ajouter.
  5. Vérifiez avec dig boutique.exemple.fr CNAME +short, qui doit renvoyer le nom cible. Les options de dig sont décrites dans sa page de manuel.

Les pièges courants

Oublier le point final

Dans un fichier de zone, une valeur sans point final est complétée par le nom du domaine : magasin.plateforme.exemple deviendrait magasin.plateforme.exemple.exemple.fr. Les interfaces web corrigent en général seules ; un fichier de zone écrit à la main, non.

Enchaîner les alias

Un CNAME peut viser un autre CNAME, mais chaque étape ajoute une recherche et un point de panne. Visez directement le nom final quand vous le connaissez.

Un certificat qui ne suit pas

Le visiteur voit l'adresse boutique.exemple.fr, pas celle de la cible. Le service doit donc présenter un certificat valable pour votre sous-domaine : la plupart le génèrent seuls une fois le CNAME en place, à condition de déclarer le sous-domaine chez eux.

Chez Hubspace

Pour un site hébergé chez nous, le domaine nu et « www » pointent par deux enregistrements A vers l'adresse que nous vous communiquons, aujourd'hui 217.160.215.186. Un CNAME n'est utile que pour un sous-domaine qui doit suivre un autre service. La recherche de nom de domaine vous permet d'enregistrer un domaine à votre nom.

Questions fréquentes

www doit-il être un CNAME ou un A ?

Les deux fonctionnent. Un A vers la même adresse que le domaine nu évite une recherche ; un CNAME vers le domaine nu évite de modifier deux lignes le jour où l'adresse change.

Pourquoi mon interface refuse-t-elle le CNAME ?

Le plus souvent, le nom porte déjà un autre enregistrement, ou vous essayez de le poser sur le domaine nu. Supprimez l'enregistrement en conflit, ou utilisez un A.

Un CNAME ralentit-il le site ?

D'une recherche DNS supplémentaire, gardée en cache comme les autres. La différence est imperceptible pour un visiteur.

Articles liés