Logo d’InsertAfter

Tester un virtualhost avant de changer les DNS

Quand on migre un site vers un nouveau serveur, on a besoin de tester le bon fonctionnement de ce dernier avant de mettre à jour les DNS. Petite astuce à base de Telnet et OpenSSL.

Changement des DNS 🔗

Changer les DNS est simple. On fait pointer l'enregistrement A et l'enregistrement WWW vers la nouvelle IP. Malheureusement, ceci est long.

En effet, la propagation des nouveaux DNS à travers les divers cache prends de 24 à 48 heures.

Du coup, l'opération est irréversible. Si vous vous rendez compte d'une erreur sur le nouveau serveur, les personnes qui ont accédé à votre site avec les nouveaux DNS sont condamnées à rester sur le nouveau serveur jusqu'à la prochaine interrogation des serveurs DNS et cela peut prendre 24 heures !

Comment tester ? 🔗

Bref, il nous faut un moyen de tester le nouveau serveur avant de changer les DNS.

L'idée est de faire une requête HTTP vers le nouveau serveur en simulant le fait qu'on y accède à travers le nouveau domaine (ex: mondomaine.com)

Cela se fait avec telnet ou netcat. On crée une connexion TCP sur le serveur HTTP vie le port 80 :

nc ip.ip.ip.ip 80

On fait une requête HTTP en mettant bien l'hôte dans les entêtes :

GET / HTTP/1.1
Host: mondomaine.com

HTTP/1.1 200 Ok

Ne pas oublier de faire deux retours à la ligne. Le code de réponse donne une indication sur le succès ou non de la requête.

Pour tester le virtualhost en SSL, seule la ligne de création du socket change :

openssl s_client -connect ip.ip.ip.ip:443

Published at jeudi 18 octobre 2012 à 10:29:18.