CNAME et DNS

Le problème

En général, il ne faudrait pas utiliser de CNAME (en particulier jamais de CNAME pointant sur un CNAME; et jamais de CNAME liés à des champs MX). Un CNAME ne doit jamais être mélangé à un autre enregistrement pour la même feuille (le même nom qualifié FQDN).

Certains hébergements ou certains cas particuliers exigent l'utilisation de CNAME:

  • Google fait des choses étranges dans son hébergement (voir l'exemple en bas)
  • cela peut être nécessaire en cas d'adresse IP dynamique et d'usage d'un service comme dyndns.org

Cependant, un CNAME sur un domaine étant également une zone n'est pas possible (il ne peut y avoir un nom1.com. CNAME nom1.dyndns.org. s'il y a aussi un enregistrement NS dans la zone nom1.com, ce qui est le cas forcément ici!).

Solution 0: toujours utiliser www.nom1.com

Si l'on utilise systématiquement www.nom1.com, alors il suffit de

  • configurer nom1.com normalement (champs NS sur les serveurs DNS, mais pas de champ A et surtout pas de CNAME)

  • configurer www.nom1.com comme CNAME sur nom1.dyndns.org

  • le serveur WWW sur nom1.dyndns.org doit accepter le domaine www.nom1.com comme serveur virtuel Apache p.ex.

Solution 1: nom1.com: support par les navigateurs

La plupart des navigateurs modernes ajoutent tout seul www. devant un nom de domaine s'il n'a pas de champ A ou CNAME dans le DNS. Il suffit donc d'appliquer la solution 0.

Solution 2: nom1.com: solution recommandée (nécessite une adresse fixe quelque part)

La solution la plus fiable serait toutefois la suivante: procéder comme sous solution 0, sauf que nom1.com a cette fois un champ A qui pointe sur l'adresse IP d'un serveur à adresse fixe.

Le serveur à adresse fixe redirige (redirect HTTP) nom1.com vers www.nom1.com, qui est comme dans la solution lié par un CNAME à nom1.dyndns.org

Impact sur les clients et moteurs de recherche.

Dans mon expérience, le CNAME est juste un artifice de résolution DNS et n'est pas visible ni dans la barre d'adresse, ni dans l'entête Host:, ni dans les résultats d'un moteur de recherche. D'ailleurs Google use et abuse des CNAMEs dans ses hébergements:

schaefer@reliand:~$ host www.tskz.ch
www.tskz.ch is an alias for ghs.google.com.
ghs.google.com is an alias for ghs.l.google.com.
ghs.l.google.com has address 173.194.70.121
ghs.l.google.com has IPv6 address 2a00:1450:4001:c02::79

Certaines configurations de firewall Cisco refusent les CNAME pointant sur des CNAME ...

-- MarcSCHAEFER - 19 Sep 2013
Topic revision: r1 - 19 Sep 2013, MarcSCHAEFER
 

Copyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Foswiki? Send feedback