Accueil > Boîtes à outils > FAQ > Quelle est la différence entre IN A (...)

Quelle est la différence entre IN A et CNAME ?

IN A est typiquement une entrée dns qui fait correspondre une adresse toto.monsite.net à une adresse IP (celle du serveur web).

Un CNAME est juste ce qu’on pourrait appeler un alias car un CNAME pointe vers un IN A ou un autre CNAME. Typiquement tata.monsite.net à toto.monsite.net. Donc quand on fait un ping tata.monsite.net, on obtient le résultat de ping toto.monsite.net

On pourrait penser que ça peut faire office de redirection web, mais en fait non. En effet les serveurs web mutualisés (un serveur = plusieurs sites) utilisent ce qu’on appelle des "vhost" (virtual hosting).

Sur Ouvaton, on a tous la même adresse ip. Il se passe ensuite deux choses :

  • Premièrement, un load balancer — gentiment surnomé LB — va faire un premier routage de la requête vers un des serveurs web suivant des coefficients qu’on fixe.
  • Arrivé sur le serveur web, il se passe une redirection invisible : les entêtes http depuis la version 1.1 indiquent quel domaine on demande (host:toto.monsite.net). Le serveur web donne alors les pages correspondantes.

Le problème c’est que quand on utilise un CNAME, l’entête http contient alors host:tata.monsite.net qui est inconnu du serveur => renvoyé sur ouvaton.coop.

Donc les CNAME ne font pas de redirection web — juste une
redirection dns. Il faut ensuite gérer la redirection web, ce qui sur Ouvaton n’est pas possible directement en adaptant la configuration Apache. Il faut passer par un .htaccess (qui modifie le comportement d’Apache et produit l’effet désiré).

Donc, pour avoir un sous-domaine, qu’on fasse un IN A => l’ip du serveur web d’Ouvaton ou un CNAME vers le premier domaine, le résultat est strictement équivalent. On arrive devant le serveur web avec l’en-tête host:tata.monsite.net.

Après, c’est une question de goût : si on utilise un CNAME et qu’on veut un jour changer de serveur, on aura juste à modifier le premier IN A. Niveau performance, ça doit être légèrement moins efficace mais franchement, la différence est "peanuts".