Назад | Перейти на главную страницу

Почему я могу перейти на localhost, а не на имя моего компьютера? (IIS7)

Я не очень разбираюсь в IIS, но я пытаюсь сделать что-то, что, как мне казалось, будет довольно простым.

Все, что я сделал, это добавил привязку к сайту через IIS. Затем я отменил свое изменение, удалив привязку.

В IE, если я перейду к http: // локальный: 80, Меня встречают красивой картинкой с кучей приветственных сообщений и большим «IIS7», спасибо графическим дизайнерам из Microsoft.

Если я перейду к http: // mycomputername: 80, Меня встречает 404.

Если я перейду в любой другой виртуальный каталог на localhost, я получаю 404.

Есть идеи, как это исправить?

Совместимые с HTTP / 1.1 веб-браузеры отправляют HTTP-заголовок под названием «Host» вместе с каждым запросом, чтобы сообщить серверу, с какого имени они запрашивают ресурсы - это позволяет серверу размещать несколько отдельных сайтов через один и тот же IP-адрес.

Из-за этого современные веб-серверы имеют встроенную возможность обрабатывать запросы к разным хостам, как если бы они поступали на совершенно другой сайт, в зависимости от содержимого этого заголовка «Host».

В вашем случае имя компьютера успешно разрешается в вашей локальной системе (точно, какой адрес он разрешает, зависит от вашей сетевой конфигурации), как видно из ответов 404, которые генерирует IIS, но IIS не сопоставляет запрос с сайтом что вы этого ожидаете.

Проблема заключается в вашей конфигурации привязок IIS. Ваша проблема - одна из трех возможных:

  • Привязка к желаемому сайту не установлена ​​на правильное имя хоста. Это может быть просто localhost, а запрос приходит с заголовком mycomputername.
  • Привязка не установлена ​​на правильный IP-адрес. Это может быть просто 127.0.0.1, в то время как процесс разрешения имен, вероятно, вместо этого разрешает имя в привязанный адрес.
  • Даже если привязка желаемого сайта совпадает, другой сайт получает запрос, потому что у него есть более применимая привязка. Например, если желаемый сайт привязан ко всем адресам на данном порту, а другой сайт имеет тот же порт, связанный с более конкретным адресом, вместо этого он получит запрос.

Вы можете сделать это через файл hosts или добавить заголовок узла в диспетчере IIS.

У вас IIS просматривает только определенный IP-адрес. Перейдите в диспетчер IIS, затем перейдите к свойствам на веб-сайте. Затем на вкладке веб-сайта перейдите к свойствам.

Добавьте идентификатор для этого значения заголовка хоста.

вы можете редактировать свой c:\windows\system32\drivers\etc\hosts файл .. добавить

127.0.0.1 mycomputername

и попробуйте.

вы должны добавить имя вашего компьютера в файл hosts под

C:\Windows\System32\drivers\etc

После этого IIS разрешит его правильно

# Copyright (c) 1993-2009 Microsoft Corp.
#
# This is a sample HOSTS file used by Microsoft TCP/IP for Windows.
#
# This file contains the mappings of IP addresses to host names. Each
# entry should be kept on an individual line. The IP address should
# be placed in the first column followed by the corresponding host name.
# The IP address and the host name should be separated by at least one
# space.
#
# Additionally, comments (such as these) may be inserted on individual
# lines or following the machine name denoted by a '#' symbol.
#
# For example:
#
#      102.54.94.97     rhino.acme.com          # source server
#       38.25.63.10     x.acme.com              # x client host

# localhost name resolution is handled within DNS itself.
#   127.0.0.1       computername