11 votes

Meilleur moyen de changer l'adresse IP d'un site - du point de vue de l'utilisateur final ?

J'ai lu un grand nombre de questions-réponses pertinentes ici, mais je ne suis toujours pas sûr de la meilleure réponse.

Je suis en train de déplacer quelques sites de l'adresse IP "1.a.b.c" vers "2.d.e.f". Pour l'instant, dans le DNS existant, j'ai défini tous les TTL à 300 secondes, et j'ai une nouvelle zone DNS prête à être utilisée (sur AWS Route 53), avec de nouveaux serveurs de noms et tous les TTL à 60 secondes. Je pense donc que je suis prêt, du point de vue du DNS. Après le déménagement, après quelques jours, je fixerai les TTL à des valeurs plus raisonnables sur Route 53.

J'ai prévenu tous mes utilisateurs du déménagement et j'ai défini une fenêtre de temps pour le déménagement. Je leur ai dit qu'une fois le déménagement terminé et si 24 heures se sont écoulées et qu'ils voient toujours les anciens sites (verrouillés), ils doivent redémarrer leur ordinateur pour forcer un vidage du cache DNS local.

Je ne comprends pas comment le navigateur de l'utilisateur (cache) joue un rôle dans ce domaine. Mes propres expériences avec un fichier d'hôtes local (Win7) me disent qu'il y a quelque chose dans le navigateur qui ne laisse pas partir l'ancienne adresse IP - j'ai dû aller sur historique-> tout effacer pour que le nouvel emplacement du site s'affiche, même après que ipconfig /flushdns

(EDIT) - Je n'ai pas d'accès root à l'ancien serveur, je ne peux donc pas mettre en place la réponse acceptée à cette question .

Question : Je ne veux vraiment pas que mes utilisateurs aient à faire face à cela. Y a-t-il quelque chose que je puisse faire pour forcer tous les navigateurs à recacher ? Et si oui, combien de temps dois-je laisser cette option activée ?

Merci...

0 votes

My own experiments with a local hosts file (Win7) tell me there is something about the browser that is not letting the old IP address go Pouvez-vous nous fournir des informations à ce sujet ? A priori, les navigateurs ne mettent pas en cache les enregistrements DNS pendant plus d'une minute.

0 votes

Je ne suis pas sûr, mais après plusieurs ipconfig /flushdns et "ctrl-F5" (dans Firefox), je continuais à obtenir un mélange de pages de l'ancien et du nouveau site... j'ai finalement dû effacer "tout" et redémarrer le navigateur. Je ne veux pas que mes utilisateurs aient à faire de même...

0 votes

JBTW, la solution du lien que vous avez fourni peut également fonctionner si vous avez un accès root au nouveau serveur. Mettez à jour les enregistrements DNS et transférez tout le trafic du nouveau serveur vers l'ancien, jusqu'à ce que les DNS se soient propagés correctement.

16voto

Yarik Dot Points 1513

Non, vous ne pouvez pas. Le problème est que les réponses DNS peuvent être mises en cache n'importe où entre l'utilisateur et le serveur DNS et qu'il n'y a aucun moyen de les invalider.

Ce que vous pouvez cependant faire - dès que les données sont synchronisées et que votre deuxième site est prêt, vous pouvez reconfigurer le serveur d'origine pour qu'il se comporte comme un proxy et transmette toutes les demandes au nouvel emplacement.

De cette façon, vous pouvez obtenir un temps d'indisponibilité de votre site web quasiment nul.

Mise à jour

Si vous n'avez pas d'accès root, il existe plusieurs options :

  • Exécution d'un mandat en PHP

  • Configurez le proxy sur le second serveur (si vous y avez un accès root), changez les DNS et quand vous êtes prêt, changez le proxy en serveur web.

  • Cette méthode peut être source de problèmes Avoir 2 adresses (www.domain.tld et www2.domain.tld). Configurez www2 (qui est le même que www) et définissez les enregistrements DNS corrects. Préparez ensuite la version www de votre site et effectuez le changement de DNS. Configurez la redirection de toutes les demandes sur l'ancien serveur vers le sous-domaine www2.

0 votes

Pourriez-vous m'en dire un peu plus à ce sujet, ou m'indiquer un article ou une question/réponse que je pourrais lire ? Je n'ai pas d'accès root au serveur existant et je ne peux donc pas manipuler directement les tables IP... il existe peut-être une autre solution ?

0 votes

@CC peut-être avez-vous accès pour remplacer votre application par une instance HAProxy ? Ou remplacer le code de votre application par un autre qui ne fait que transmettre la demande au nouveau serveur ?

0 votes

@JasonMartin - J'ai accès au fichier .htaccess et au code de l'application. Donc, oui, je pourrais probablement récupérer l'URL demandée et la transférer à la nouvelle adresse IP - je devrais peut-être essayer ?

4voto

En théorie, en réglant le TTL du domaine sur une valeur faible et en attendant que ce changement ait lieu, puis en changeant l'IP, on devrait obtenir une migration presque transparente. Après tout, c'est là tout l'intérêt de la possibilité de configurer le TTL.

Dans la pratique, les gens configurent mal les choses et les outils se cassent. C'est pourquoi vous devrez peut-être donner des instructions à vos utilisateurs pour qu'ils vident leur cache local si les choses ne fonctionnent pas correctement.

Mais tu ne fais rien de mal.

0 votes

Dois-je passer immédiatement au nouveau DNS AWS Route 53 - avec le système d'alerte de l'AWS ? vieux l'adresse IP - puis, une fois la migration effectuée, il suffit de changer l'adresse IP pour la nouvelle ? -- ou simplement changer le DNS pour le nouveau. et changer l'IP en même temps ?

1 votes

@CC : Je ne suis pas un administrateur réseau donc prenez cela avec une pincée de sel (et je suis heureux d'entendre le contraire de la part des gourous de ServerFault), mais je recommanderais personnellement de ne pas changer les deux en même temps. Réglez votre DNS, puis effectuez le changement d'IP et laissez le nouveau DNS faire son travail en vous aidant avec cette dernière partie.

1 votes

J'ai tenté une expérience. Pour un site, j'ai changé les heures de DNS à l'avance, puis j'ai changé l'adresse IP de l'enregistrement A plus tard. Cela a parfaitement fonctionné. Sur l'autre site, j'ai changé les deux en même temps. Il a oscillé entre l'ancienne et la nouvelle adresse IP pendant des heures - j'ai finalement supprimé la zone AWS Route 53 et l'ai refaite de la même manière que le premier site. Cela a parfaitement fonctionné. Donc, pas besoin d'une pincée de sel - vous avez vu juste !

1voto

ClickLabs Points 111

Inévitablement, votre ancienne adresse sera mise en cache et utilisée pendant longtemps, principalement par des robots.

Comment je le ferais :

  • Créez un enregistrement A, par exemple www2.yourdomain.com qui pointe vers une nouvelle adresse IP. Cet enregistrement ne devrait jamais avoir été utilisé auparavant ; il n'a donc jamais été mis en cache.
  • Rediriger les requêtes sur l'ancien serveur vers www2.yourdomain.com
  • Surveillez les redirections, et lorsque le trafic diminue jusqu'à un niveau acceptable, supprimez l'ancien serveur.
  • Et enfin, une fois l'ancien serveur supprimé, rediriger www2.yourdomain.com a www.yourdomain.com .

Veillez à utiliser des redirections permanentes 301. https://en.wikipedia.org/wiki/HTTP_301

0 votes

Mon intuition me dit qu'il devrait no utiliser 301 pour la première série de redirections, mais seulement pour la seconde. Y a-t-il une raison particulière pour laquelle il devrait le faire, qui ne serait connue que de quelqu'un ayant une sagesse ésotérique en matière de référencement ?

0 votes

@Random832 Un permanent indique à l'agent utilisateur d'oublier l'ancienne url et, par exemple, de mettre à jour ses signets pour qu'ils pointent vers la nouvelle url (ainsi, la prochaine fois, il pourra accéder directement à la nouvelle url). Il n'y a pas de mal à rediriger à nouveau plus tard (ou même à revenir à l'url d'origine). En revanche, une redirection temporaire indique à l'agent utilisateur de conserver l'url d'origine (car la redirection peut se faire vers une autre cible ou ne pas se faire du tout la prochaine fois). Par conséquent, avec les redirections temporaires, le contrôle de la redirection serait le suivant jamais tomber à un "niveau acceptable".

0 votes

@HagenvonEitzen Il tombera à un niveau acceptable lorsque les navigateurs cesseront de recevoir l'adresse IP de l'ancien serveur pour www.yourdomain.com, ce qui est une question de DNS et ne sera pas affecté par le type de redirection HTTP utilisé. Et "parce que la redirection pourrait se produire ...pas du tout la prochaine fois" est donc précisément vrai.

0voto

codatory Points 113

On dirait que vous prévoyez de changer vos serveurs de noms en même temps ? En raison de la manière dont les serveurs de noms sont découverts, leur mise à jour prend beaucoup plus de temps que celle d'un enregistrement normal - souvent 24 heures ou plus.

Je vous recommande fortement de mettre à jour le DNS de votre fournisseur actuel. avant changer les DNS, ou changer vos serveurs de noms 7 jours avant de changer l'IP du site web.

Les ordinateurs et les navigateurs modernes sont assez fiables pour respecter les TTL avec le DNS, mais vous devez comprendre toute la chaîne pour obtenir les meilleurs résultats.

0 votes

Merci, et oui, cela reflète mon commentaire sous la réponse de Lightness, ci-dessus. Les résolveurs ont rafraîchi les serveurs de noms assez rapidement - en quelques minutes. La clé était de faire cela en premier, puis d'attendre quelques heures avant de changer l'adresse IP de destination. Les deux en même temps, c'était mauvais... très mauvais.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X