Question Pourquoi dans Windows 'localhost' la connexion est réinitialisée alors que 127.0.0.1 et les autres spécifiés dans le fichier 'hosts' fonctionnent?


Je veux tester un serveur HTTP sur l'adresse localhost sous Windows (XP) et j'ai un comportement étrange: quand j'entre http: // localhost / dans mon navigateur j'obtiens l'erreur de réinitialisation de la connexion, tout en mettant http://127.0.0.1/ ou tout autre objet associé à cette adresse dans le fichier "hosts" fonctionne correctement et la page de démarrage s'affiche.

J'ai fermé certains processus que je soupçonnais, désactivé le pare-feu, et cela n'a pas aidé. Pour un instant, le "localhost" est revenu et il est reparti sans aucune raison. Comment puis-je retrouver ce qui se mêle de l'adresse localhost sous Windows?

Edit1:
Voici mon fichier 'hosts':

127.0.0.1       localhost
127.0.0.1       moin

L'entrée 'moin' fonctionne correctement, 'localhost' est réinitialisé. Le serveur HTTP est un jeu! cadre, et la façon dont je dois l'utiliser est 'http: // localhost: 9000 / @ tests'.

Edit2:
La réponse ping indique que le 'localhost' est résolu en adresse IPv6 :: 1:

C:\> ping localhost

Checking IZABELA [::1] using 32 bytes of data:

Response from ::1: time<1 ms
Response from ::1: time<1 ms
Response from ::1: time<1 ms
Response from ::1: time<1 ms
...

3
2018-04-04 16:30


origine


Pourriez-vous poster votre fichier hosts? Quel serveur HTTP utilisez-vous? - tjameson


Réponses:


C'est parce que votre localhost passe votre carte réseau (notez le LMHOSTS dans sa configuration avancée, cela transforme le traitement du fichier HOSTS en ou non) et votre carte réseau peut faire quelque chose de plus. Si vous visitez 127.0.0.1 alors il va directement à la carte de bouclage, comme pour les autres entrées de votre carte réseau peut simplement choisir de les transférer au lieu de les gérer (comme le localhost entrée). Vous pouvez obtenir des informations de routage en utilisant route PRINT dans une invite de commande:

IPv4 Route Table
===========================================================================
Active Routes:
Network Destination        Netmask          Gateway       Interface  Metric
          0.0.0.0          0.0.0.0      192.168.1.1    192.168.1.100    281 <--
        127.0.0.0        255.0.0.0         On-link         127.0.0.1    306 <==
        127.0.0.1  255.255.255.255         On-link         127.0.0.1    306 <==
  127.255.255.255  255.255.255.255         On-link         127.0.0.1    306 <==
      192.168.1.0    255.255.255.0         On-link     192.168.1.100    281
    192.168.1.100  255.255.255.255         On-link     192.168.1.100    281
    192.168.1.255  255.255.255.255         On-link     192.168.1.100    281
     192.168.11.0    255.255.255.0         On-link      192.168.11.1    276
     192.168.11.1  255.255.255.255         On-link      192.168.11.1    276
   192.168.11.255  255.255.255.255         On-link      192.168.11.1    276
     192.168.40.0    255.255.255.0         On-link      192.168.40.1    276
     192.168.40.1  255.255.255.255         On-link      192.168.40.1    276
   192.168.40.255  255.255.255.255         On-link      192.168.40.1    276
        224.0.0.0        240.0.0.0         On-link         127.0.0.1    306
        224.0.0.0        240.0.0.0         On-link      192.168.40.1    276
        224.0.0.0        240.0.0.0         On-link      192.168.11.1    276
        224.0.0.0        240.0.0.0         On-link     192.168.1.100    281
  255.255.255.255  255.255.255.255         On-link         127.0.0.1    306
  255.255.255.255  255.255.255.255         On-link      192.168.40.1    276
  255.255.255.255  255.255.255.255         On-link      192.168.11.1    276
  255.255.255.255  255.255.255.255         On-link     192.168.1.100    281

Notez où je place le <== à la fin, ceux-ci assurent que le 127.0.0.1 l'interface est utilisée lorsque vous visitez un adresse de bouclage.

Notez où je place le <-- à la fin et 0.0.0.0 signifie tout IP, ceux-ci assurent que des choses comme localhost, toute autre chose que vous transmettez dans HOSTS et la plupart des adresses IP que vous visitez sont gérées par votre adaptateur réseau qui utilise le 192.168.1.100 l'interface et le 192.168.1.1 passerelle.

Une métrique plus élevée signifie plus de priorité, c'est pourquoi <== a la préférence sur <--.

Plus d'informations peuvent être trouvées sur sous-réseaux pour comprendre les masques de réseau.


En ce qui concerne votre problème:

  • Vérifiez votre configuration IIS / Apache.
  • Désactivez votre anti-virus et votre pare-feu.
  • Réinitialisez votre carte réseau pour voir si elle résout le problème.
  • Utilisez le Troubleshoot Problems option pour voir si cela résout quelque chose.
  • Utilisation ipconfig /flushdns pour effacer la résolution DNS.
  • Voyez ce que vous obtenez pour ping localhost.
  • Essayez de désactiver IPv6.
  • Mettez à jour les pilotes de votre carte réseau.

Rapportez si vous avez toujours le problème, vous pourriez vouloir capturer un Trace de Wireshark.


3
2018-04-04 16:49



Le pare-feu a été désactivé, comme je l'ai indiqué précédemment. J'ai ajouté une réponse ping à ma question. Réinitialisation de l'adaptateur n'a pas aidé. Flushing DNS n'a pas non plus aidé. La mise à jour des pilotes est impossible. Plus d'idées? - Rajish
@ Rajish: Hmm, IPv6, le même problème se produit-il lorsque vous désactiver IPv6 et donc seulement utiliser IPv4? Comme localhost résout la variante IPv6 votre serveur n'écoute probablement pas l'IPv6 IP et donc localhost ne fonctionnerait pas. La mise à jour de vos pilotes de réseau devrait être possible, pourquoi est-ce impossible? - Tom Wijsman
J'ai déjà les pilotes les plus récents pour mon matériel. Désactiver IPv6 du tout a fait l'affaire. Avant que j'ai essayé le truc décrit ici mais ça n'a pas marché. - Rajish