1 votes

EC2 avec elastic IP & Route53 DNS - Le domaine se résout à un DNS public incorrect.

Je suis nouveau ici, faites-moi savoir si je peux ajouter des détails ou si je rate quelque chose de tout à fait évident.

J'ai mis mon site en service sur un EC2 et j'ai pu le visualiser avec le DNS public.

J'ai dirigé mon domaine vers l'instance en utilisant ce guide . J'ai créé une IP élastique pour l'instance, j'ai créé quatre enregistrements NS et deux enregistrements A-name (www, non-www) en utilisant route53. J'ai transmis ces enregistrements NS à mon fournisseur de domaine.

Le domaine semble s'être propagé - lorsque j'accède à l'URL, je suis redirigé vers une adresse DNS d'instance publique très ancienne (deux redémarrages auparavant) au lieu de la nouvelle adresse avec l'IP élastique. Je peux me connecter en SSH à l'instance en utilisant le nouveau nom de domaine mais je ne peux pas y accéder depuis le navigateur. J'ai vérifié mes groupes de sécurité, et HTTP/80 est réglé pour autoriser tout le trafic.

J'ai essayé d'accéder directement à l'EIP (redirection), d'envoyer une requête à l'EIP (time out), d'accéder directement au DNS public, d'envoyer une requête au DNS public, j'ai essayé d'arrêter et de démarrer l'instance et de répéter toutes les étapes précédentes, et j'ai vérifié que le port 80 est ouvert dans le groupe de sécurité, mais le domaine me redirige toujours vers un ancien DNS public.

Chrome me donne l'erreur ERR_CONNECTION_TIMED_OUT dans le navigateur après que j'ai redirigé (301) vers l'ancienne URL.

Je ne sais pas trop où aller à partir de là.

0 votes

Avez-vous effacé le cache DNS de votre ordinateur ?

0 votes

Pouvez-vous envoyer le nom de domaine et l'adresse IP auxquels vous voulez accéder ?

0 votes

Oui, j'ai aussi essayé sur une autre machine.

3voto

KHobbits Points 1070

En examinant le problème, en faisant un nslookup sur le domaine, j'obtiens :

Name:   www.racheldoesfestivals.com  
Address: 34.197.64.48

Il s'agit d'une IP appartenant à AWS, donc je suppose que cela va au bon endroit. Je vérifierais si cela correspond à l'EIP, mais d'après ce que je vois ci-dessous, je vais supposer que c'est correct.

En utilisant le curl contre cette IP, je comprends :

[root@server nginx]# curl -v 34.197.64.48
* Connected to 34.197.64.48 (34.197.64.48) port 80 (#0)
> GET / HTTP/1.1
> Host: 34.197.64.48
> User-Agent: curl/7.47.1
> Accept: */*
>
< HTTP/1.1 301 Moved Permanently
< Date: Fri, 31 Mar 2017 14:04:00 GMT
< Server: Apache/2.4.25 (Amazon) PHP/5.6.30
< X-Powered-By: PHP/5.6.30
< X-Pingback: http://ec2-54-211-187-124.compute-1.amazonaws.com/xmlrpc.php
< Location: http://ec2-54-211-187-124.compute-1.amazonaws.com/
< Content-Length: 1
< Content-Type: text/html; charset=UTF-8

Cela me montre que je touche effectivement un serveur web fonctionnant sur 34.197.64.48 mais le serveur web que j'atteins pense que je devrais être ailleurs, et me renvoie vers http://ec2-54-211-187-124.compute-1.amazonaws.com/ (Ceci n'est pas lié à Route53).

Cela signifie que, quelque part sur le serveur Web situé à l'adresse 34.197.64.48 il y a un code qui déclenche une redirection. Il peut s'agir du fichier de configuration de votre serveur (apache), d'un fichier .htaccess ou de l'application elle-même.

De nombreux sites Web vous demandent, lors de la phase de configuration, de saisir une adresse de site Web "principale", vers laquelle vous êtes redirigé si vous visitez le site d'une autre manière. Par le passé, pour résoudre ce problème avec Wordpress (si la configuration initiale était incorrecte), il fallait modifier un paramètre dans la base de données avant de pouvoir visiter le site sans être redirigé.

Je peux confirmer que nous arrivons à un serveur web qui fonctionne et que le DNS fonctionne, car je lance la commande suivante : curl -vH "Host: ec2-54-211-187-124.compute-1.amazonaws.com" 34.197.64.48 Ce qui fait croire au serveur que je suis en train de visiter le site qui me renvoie du html : RachelDoesFestivals - Guides, musings, media, and other nonsense from a festival obsessionist

Si vous êtes patient, vous pourrez peut-être accéder au site en utilisant : http://www.racheldoesfestivals.com/wp-login.php
Fixer ensuite l'adresse du site dans les paramètres->généraux

0 votes

Merci pour cette explication détaillée ! Oui, vous avez raison de dire que 34.197.64.48 est l'EIP. Wordpress était réglé sur l'ancien DNS public, je l'ai mis à jour dans la base de données ce matin - si c'est le cas, cela prend du temps. J'avais également un fichier de test "hello world" à la racine qui ne fonctionnait pas, mais qui fonctionne maintenant. Rien dans .htaccess ou dans la configuration d'Apache ne provoque de redirection. EDIT - Désolé pour l'édition prématurée.

0 votes

Vous pouvez vérifier que vous n'avez pas oublié une valeur dans la base de données, car j'ai pu reproduire le problème à l'instant. Même en visitant l'URL du panneau d'administration : http://www.racheldoesfestivals.com/wp-login.php Je peux voir qu'il essaie toujours de tirer les css/js de l'ancienne url. Une chose à retenir est que les redirections 301 (ce que nous voyons en visitant la racine du site) sont conçues pour être mises en cache dans votre navigateur, donc une fois que vous l'avez visitée, elle sera toujours redirigée à moins que vous ne réussissiez à vider le cache (chrome dev tools n'aide pas ici).

0 votes

Je suis passé à incogneto et... JE L'AI EU ! Yaayyyy, merci beaucoup ! ...Et finalement, mon serveur était bien configuré après tout. Bien sûr. soupir

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