IIS6 не может найти сайт в локальной сети
У меня есть сервер Windows 2003 с двумя сетевыми картами под управлением IIS6. Я могу получить доступ ко всему удаленно, но внутренняя сеть не может найти сайт независимо от того, на какой IP-адрес я пытаюсь перейти. Здесь действительно происходит несколько странных вещей, но я собираюсь ограничить этот вопрос тем, что, как я предполагаю, является самой простой проблемой (решение, которое я надеюсь, решает и другие вещи):
- С самого сервера я могу получить доступ к веб-странице, используя основной IP-адрес (т.е.
http://192.168.1.2/index.htm), но не используя дополнительный IP-адрес (т.е.http://10.10.10.2/index.htm).
Самостоятельная проверка обоих IP-адресов работает, и "Идентификация веб-сайта" в IIS имеет IP-адрес, установленный на "(Все неназначенные)"... который, я считаю, должен связать оба IP-адреса с этим сайтом.
Я прошу прощения, если я не предоставил достаточно деталей о моей настройке, но на данный момент я даже не знаю, что имеет отношение...
ОБНОВИТЬ
Я нашел часть проблемы (спасибо @SimonCatlin за указание меня в этом направлении). Сервер не прослушивал порт 80 в подсети 10.10.10.x. После того, как я изменил это, сервер доставляет веб-страницу локально обоим http://192.168.1.2/index.htm а также http://10.10.10.2/index.htm).
Я использовал следующие команды для прослушивания порта 80 через все сетевые карты
> httpcfg delete iplisten -i 192.168.1.2
> httpcfg set iplisten -i 0.0.0.0
> net stop http
> net start http
> iisreset
Я проверил и подтвердил это, запустив netstat -oan, который теперь возвращает следующие соответствующие данные:
Proto Local Address Foreign Address State PID
TCP 0.0.0.0:80 0.0.0.0:0 LISTENING 4
Вот мой текущий список вещей, которые не работали:
- ИСПРАВЛЕНО С самого сервера, просматривая
http://10.10.10.2/index.htm - ИСПРАВЛЕНО Из подсети 10.10.10.x, перейдите к
http://10.10.10.2/index.htm - Из подсети 10.10.10.x перейдите к
http://[staticIP]/index.htm - Из подсети 10.10.10.x перейдите к
http://mydomain.com/index.htm
Если я бегу nslookup mydomain.com он возвращает staticIP, поэтому я предполагаю, что последние два пункта - это та же проблема.
1 ответ
Ваша информация не складывается (это не критика, а просто наблюдение!).
Можете ли вы уточнить...
Удаленно (предположительно из другой маршрутизируемой сети, кроме подсетей 192. и 10.), вы можете попасть на сайт по любому IP-адресу?
Внутренне (предположительно с компьютера в подсетях 192. или 10., но НЕ с самого сервера) вы не можете попасть ни на один сайт?
С самой консоли сервера вы можете попасть на сайт, но только через адрес 192.?
Вы не используете доменные имена, поэтому заголовки имен хостов не вступают в игру.
Не могли бы вы подтвердить, используя Netstat или что-то вроде TCPView SysInternal, что ваш сервер действительно прослушивает порт 80 на обоих IP-адресах? Из приведенного выше удаленного теста утверждается, что он связан с обоими IP-адресами.
Странно то, что, если вы можете получить доступ к сайту по обоим IP-адресам удаленно, то можно предположить, что IIS6 обслуживает контент через порт 80 на обоих IP-адресах. Следовательно, локально на сервере, где к локальным IP-адресам обращаются без необходимости маршрутизации, вы должны получать тот же контент.
Не могли бы вы также уточнить ТОЧНО, какую ошибку вы получаете при сбое?
Наконец, попробуйте запустить Process Monitor SysInternals на сервере. Настройте свой фильтр так, чтобы он следил за доступом к файлам в каталоге вашего сайта (где живет index.htm), а также за активностью сети на порту 80. Проведите тесты и посмотрите, какие результаты вы получите (подсказка - после настройки фильтров включите "сброс"). "Отфильтрованные события" для сохранения оперативной памяти).