Module 3 · 3.2
CNAME et le domaine nu
Module 3: Enregistrements pour votre site web · Temps de lecture : 8 minutes
Objectif pédagogique : Après cette leçon, vous saurez créer correctement un enregistrement CNAME et expliquer pourquoi il est impossible sur le domaine nu.
Notions clés : CNAME, alias, nom cible, la règle du CNAME (pas d'autres enregistrements à côté), apex (domaine nu), ALIAS/ANAME/CNAME flattening
Un nom qui pointe vers un autre nom
Un enregistrement A dit : « ce nom habite à cette adresse ». Un enregistrement CNAME (de canonical name) dit autre chose : « ce nom est en fait un autre nom, demandez-le là-bas ». Vous créez ainsi un alias.
shop.example.com. 3600 IN CNAME shops.platform.example.Si un navigateur demande l'adresse de shop.example.com, le DNS répond : « c'est shops.platform.example ». Le résolveur recherche alors l'enregistrement A ou AAAA de ce nom et renvoie cette adresse. Pour le visiteur, cela ne change rien : la barre d'adresse affiche simplement shop.example.com.
Pourquoi voudriez-vous faire cela ? Parce que l'adresse IP devient alors le problème de l'autre partie. Une plateforme de boutique en ligne, un service de newsletter ou un prestataire cloud peut déplacer ses serveurs et modifier les adresses sans que vous ayez quoi que ce soit à changer. C'est pourquoi de nombreux services demandent un CNAME plutôt qu'un enregistrement A : « faites pointer www vers shops.platform.example ».
Le point final
Dans la leçon 2.2, vous avez vu qu'un nom sans point final est lu comme relatif : le DNS y ajoute votre propre nom de domaine. Avec un CNAME, cela se passe très souvent mal.
| Vous saisissez comme valeur | Ce que le DNS en fait |
|---|---|
shops.platform.example. | shops.platform.example (correct) |
shops.platform.example | shops.platform.example.example.com (n'existe pas) |
De nombreux panneaux ajoutent désormais eux-mêmes le point ou vous avertissent. D'autres non. Vérifiez donc dans la liste après l'enregistrement : si vous voyez votre propre nom de domaine après la valeur, c'est que le point manquait.
La même règle s'applique au serveur de messagerie dans un enregistrement MX et aux enregistrements NS. Pour une adresse IP dans un enregistrement A, vous ne mettez pas de point.
La règle du CNAME : rien à côté
Un CNAME a une règle stricte issue de la norme DNS (RFC 1034, paragraphe 3.6.2, et RFC 2181) : un nom portant un CNAME ne peut avoir aucun autre enregistrement. C'est logique : le CNAME dit « je suis en fait cet autre nom ». S'il y a aussi un enregistrement A ou un enregistrement MX à côté, on ne sait plus quelle réponse est valable.
Deux conséquences pratiques en découlent :
- Si un enregistrement A existe déjà pour
shop, supprimez-le d'abord. Sinon, un panneau refuse l'enregistrement CNAME, ou pire, l'accepte et le DNS se met à mal fonctionner. - Un CNAME sur le domaine nu est impossible.
Pourquoi pas sur le domaine nu ?
Le domaine nu, example.com sans rien devant, est appelé en langage technique l'apex ou le sommet de la zone. Sur ce nom se trouvent toujours des enregistrements obligatoires :
- l'enregistrement SOA (l'en-tête technique de la zone),
- les enregistrements NS (quels serveurs de noms gèrent la zone),
- généralement aussi des enregistrements MX (messagerie) et des enregistrements TXT (SPF, vérification).
Puisqu'un CNAME ne tolère aucun autre enregistrement à ses côtés, et que l'apex comporte toujours un SOA et des NS, un CNAME ne peut pas y figurer. Ce n'est pas une limitation de votre panneau, mais du DNS lui-même.
Si un service vous demande de connecter « votre domaine principal », il existe trois solutions :
- Un enregistrement A (et éventuellement AAAA) avec l'adresse IP du service. La plupart des plateformes de boutique en ligne fournissent une adresse fixe à cet effet. Cela fonctionne partout.
- Un enregistrement ALIAS, ANAME ou « CNAME flattening ». Certains prestataires DNS proposent un type d'enregistrement propriétaire qui se comporte comme un CNAME, mais que le serveur de noms convertit lui-même en enregistrement A avant d'envoyer la réponse. Ce n'est pas un type d'enregistrement officiel : cela ne fonctionne que chez les prestataires qui le prennent en charge, et son nom varie selon les cas.
- La redirection. Faites pointer le domaine nu avec un enregistrement A vers votre propre serveur web, et faites rediriger les visiteurs vers
www.example.com, qui possède bien un CNAME vers le service. Vous découvrirez comment fonctionne la redirection dans la leçon 3.4.
Où d'autres un CNAME n'est pas autorisé
- Un enregistrement MX ne peut pas pointer vers un CNAME (RFC 2181, paragraphe 10.3). Le serveur de messagerie indiqué dans un MX doit être un nom possédant son propre enregistrement A ou AAAA. Certains serveurs de messagerie s'en sortent malgré tout, mais vous ne pouvez pas compter là-dessus.
- Pas de CNAME sur un nom que vous utilisez aussi comme sous-domaine dans votre panneau d'hébergement. Un sous-domaine dans le panneau reçoit déjà ses propres enregistrements pointant vers votre hébergement. Si vous voulez que le nom pointe vers un autre service, supprimez le sous-domaine et créez uniquement l'enregistrement CNAME.
- Les chaînes sont possibles, mais limitez-les. Un CNAME peut pointer vers un nom qui est lui-même un CNAME. Chaque étape coûte une recherche supplémentaire. Les grandes plateformes le font souvent (vous voyez alors deux ou trois CNAME à la suite), mais ne créez pas vous-même de longues chaînes.
En pratique : à quoi cela ressemble dans un panneau
À titre d'exemple, nous utilisons l'écran DNS de Mon WebOké. Dans d'autres panneaux (DirectAdmin, cPanel, Plesk, Cloudflare, la plupart des bureaux d'enregistrement), les boutons portent d'autres noms, mais vous renseignez les mêmes trois éléments : type, nom et nom cible.
- Ouvrez l'écran DNS de votre domaine et cliquez sur Ajouter un Enregistrement.
- Choisissez le type CNAME.
- Dans Nom, indiquez uniquement
shop, sans votre nom de domaine. - Dans Pointe vers, indiquez le nom cible, avec un point final :
shops.platform.example. - Enregistrez et vérifiez dans la liste que votre propre nom de domaine n'apparaît pas après la valeur.
Le panneau utilisé dans l'exemple vous avertit si le point manque. Ce n'est pas le cas de tous les panneaux.
Résumé
- Un CNAME fait d'un nom un alias d'un autre nom ; c'est alors l'autre partie qui gère l'adresse IP.
- Mettez un point final au nom cible, sinon le DNS y ajoute votre propre domaine.
- Un nom portant un CNAME ne peut avoir aucun autre enregistrement.
- C'est pourquoi un CNAME est impossible sur le domaine nu : on y trouve toujours un SOA et des NS. Utilisez-y un enregistrement A, un enregistrement de type ALIAS proposé par votre prestataire DNS, ou une redirection.
- Un enregistrement MX ne peut pas pointer vers un CNAME.
Quiz
Exercice
Exercice Z3.2 : Suivre un CNAME. Vers quel nom pointe l'enregistrement CNAME de en.wikipedia.org ? Indiquez le nom cible.
Exercice O3.2 : Configurer vous-même dans votre zone d'entraînement. Dans votre zone d'entraînement, créez un enregistrement CNAME avec le nom winkel pointant vers shops.shop-demo.dnspractice.eu. (avec le point). Assurez-vous qu'aucun autre enregistrement n'existe pour winkel. Dans la zone d'entraînement, vous utilisez un faux service ; pour votre domaine réel, indiquez le nom cible fourni par le véritable service. Cliquez ensuite sur Vérifier.
Exercice O3.2
Vous réalisez cet exercice dans votre propre zone d'entraînement : une véritable zone DNS sur les serveurs de noms de WebOké, rien que pour vous. Inscrivez-vous avec votre adresse e-mail. Vous recevrez un lien de connexion par e-mail et reviendrez ensuite sur cette leçon. Nous utilisons votre adresse uniquement pour le cours.
Pour aller plus loin
Ces articles décrivent les étapes dans les panneaux de WebOké ; dans d'autres panneaux, cela fonctionne de manière similaire.
