3

Я хочу протестировать некоторый HTTP-сервер по адресу localhost в Windows (XP) и получаю странное поведение: при вводе http://localhost/ в браузере я получаю сообщение об ошибке сброса соединения при установке http://127.0.0.1/ или все, что сопоставлено с этим адресом в файле 'hosts', работает нормально, и отображается начальная страница.

Я закрыл некоторые процессы, которые я подозревал, отключил брандмауэр, и это не помогло. На мгновение «местный хост» вернулся, а потом снова исчез без всякой причины. Как я могу отследить, что мешает с адресом localhost под Windows?

Edit1:
Вот мой файл 'hosts':

127.0.0.1       localhost
127.0.0.1       moin

Запись moin работает нормально, localhost сбрасывается. HTTP-сервер играет! Framework, и способ, которым я должен использовать это « http://localhost:9000/@ tests ».

Edit2:
Ответ ping указывает, что «localhost» преобразуется в адрес 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
...

1 ответ1

3

Это потому, что ваш localhost передает ваш сетевой адаптер (обратите внимание на LMHOSTS в его расширенной конфигурации, это, по сути, включает и выключает обработку файла HOSTS), и ваш сетевой адаптер может сделать что-то дополнительное с ним. Если вы посещаете 127.0.0.1 то он напрямую переходит к адаптеру обратной связи, а для других записей ваш сетевой адаптер может просто выбрать их пересылку вместо обработки (например, запись localhost ). Вы можете получить информацию о маршрутизации, используя route PRINT в командной строке:

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

Обратите внимание, что в конце я установил <== , это гарантирует, что интерфейс 127.0.0.1 будет использоваться при посещении петлевого адреса.

Обратите внимание, где я устанавливаю <-- в конце, а 0.0.0.0 означает любой IP-адрес, это гарантирует, что такие вещи, как localhost , любая другая вещь, которую вы перенаправляете в HOSTS и большинство посещаемых вами IP-адресов обрабатываются вашим сетевым адаптером, который использует 192.168.1.100 интерфейс и шлюз 192.168.1.1 .

Более высокая метрика означает больший приоритет, поэтому <== имеет преимущество перед <-- .

Дополнительную информацию можно найти в подсетях, чтобы понять маски сети.


Что касается вашей проблемы:

  • Проверьте свою конфигурацию IIS/Apache.
  • Отключите антивирус и брандмауэр.
  • Перезагрузите сетевой адаптер, чтобы посмотреть, решит ли он проблему.
  • Используйте параметр « Troubleshoot Problems чтобы увидеть, разрешает ли он что-либо.
  • Используйте ipconfig /flushdns для очистки разрешения DNS.
  • Посмотрите, что вы получаете за ping localhost .
  • Попробуйте отключить IPv6.
  • Обновите драйверы для вашего сетевого адаптера.

Сообщите, если у вас все еще есть проблема, вы можете захватить след Wireshark.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .