J'exécutais un site Web drupal sur le serveur 01 avec IP1 sur le nom de domaine example.com avec la configuration centos 6 et Apache.
Alors que nous avions un pic de trafic, nous voulions une machine plus puissante. Nous avons donc décidé de passer à Ubuntu 13.10 et nginx. Moi avec mon hôte, construit le serveur 2 avec IP2 et installé Ubuntu 13.10 et nginx. Nous avons ensuite copié le dossier/var/www/html du serveur 01 dans le dossier/var/www du serveur 02, créé un dump mysql de bases de données sur le serveur 01, transféré le même sur le serveur 02 et créé le même environnement de base de données. Connecté drupal aux bases de données. Testé le travail en accédant à IP2 sur le navigateur. Tout fonctionnait bien, sauf quelques drupal problèmes. Décidé de procéder au transfert quand même.
Mon hôte a ensuite changé d'adresse IP. Nous avons maintenant le serveur 01 avec IP2 et le serveur 02 avec IP1. Le résultat final était satisfaisant. Cependant, un comportement étrange a été noté.
Lorsqu'une page du site est en cours de chargement (après le basculement IP), il demande une ressource (une image png) sur IP2, qui se trouve actuellement sur le serveur 01. Lorsque mon hôte arrête le serveur 01, la requête génère une erreur introuvable. En tant que procédure de codage par défaut, toutes les demandes sur drupal sont effectuées par rapport au nom de domaine (ou à l'adresse IP). La suppression multiple des caches n'a pas résolu le problème.
Ma question est de savoir comment le script sait-il qu'une telle adresse IP existe? Comment puis-je suivre la partie du script qui génère cette demande?
Si des informations manquent à ma question, veuillez commenter ci-dessous et je l'ajouterai à titre de modification.
Toute aide est la bienvenue.
Edit: Le problème résolu sur lui-même. Je ne sais pas ce qui a résolu le problème, mais lorsque j'ai désactivé un CDN, réécrit complètement la page de configuration et modifié le protocole en https, le problème a été résolu. Même si la cause exacte qui l’a créée m’est toujours inconnue, je suis heureuse qu’elle n’existe plus.
pour clarifier votre question, il semble que vous ayez un lien d’image cassé après une migration grave sur le site basé sur drupal? lorsque le lien a été créé, vous devez avoir visité votre serveur par adresse ip vs nom de domaine. alors drupal a créé un lien complet vers l'image au lieu de créer un lien relatif. vous devez mettre à jour le code, le module ou le plug-in générant le lien avec un lien relatif, et si votre adresse IP est modifiée, vous ne rencontrerez pas de tels problèmes. Une règle nginx rewite peut également être redirigée vers le bon domaine, mais c’est un correctif superficiel et mieux comme mesure de sauvegarde des liens rompus.
PS maintenant que vous êtes sur nginx, son utilisation en tant que proxy inverse signifie que vous pouvez vous étendre pour gérer des tonnes de trafic.