Назад |
Перейти на главную страницу
Почему некоторые из моих клиентов на короткое время теряют возможность подключения по протоколу HTTP?
Я запускаю IIS 7.5 на сервере 2008 R2, виртуализированном на сервере Windows Core 2008 R2 на серверном оборудовании Intel, находящемся за брандмауэром Sonicwall.
Вот уже несколько месяцев у нас есть несколько клиентов (возможно, один в неделю), которые связываются с нами и говорят, что не могут получить доступ к веб-сайту. Когда это происходит, я немедленно начинаю диагностировать проблему и вот что обнаруживаю:
- Я могу получить доступ к сайту.
- Наш обслуживающий персонал в других местах может получить доступ к веб-сайту.
- Предположительно (потому что мы ничего о них не слышим) другие клиенты могут получить доступ к сайту.
- Клиент может пинговать и трассировать сервер.
- Клиент не может получить доступ к другим веб-сайтам на том же сервере, которые имеют тот же IP-адрес.
- Клиент может получить доступ к другим веб-сайтам на том же сервере, которые используют другие IP-адреса.
- iisreset не решает проблему.
- Сброс маршрутизатора клиента не решает проблему.
- Очистка кэша ARP нашего брандмауэра не решает проблему.
- Изменение браузера клиента и / или перезагрузка его машины не решают проблему.
- Переключение на другой компьютер за маршрутизатором клиента не решает проблему.
- Через 15–30 минут проблема каким-то волшебным образом разрешается сама собой, и клиент снова может получить доступ к сайту.
- В случае сбоя клиент видит сообщение о тайм-ауте, а в журналах IIS вообще нет записей о запросе.
Прочие примечания:
- Похоже, что не существует модели, на каких клиентов влияет эта проблема.
- Мы не используем балансировку нагрузки.
- За исключением брандмауэра, перед IIS нет другого программного обеспечения / оборудования для обеспечения безопасности.
- На виртуальной машине IIS установлены все последние обновления Windows.
- В установке Server Core есть все последние обновления Windows.
- На Sonicwall установлена последняя версия прошивки.
Я подозреваю, что проблема может быть:
- Если браузер клиента неправильно разрешал DNS для веб-сайта, это могло вызвать все вышеперечисленные проблемы. В следующий раз, когда это произойдет, я буду использовать Fiddler для проверки IP-адреса, к которому браузер пытается подключиться. Не уверен, почему тогда ping сможет правильно разрешить его из командной строки.
- Возможно, Sonicwall каким-то образом блокирует соединение. В этом случае блокируется только определенный IP-адрес источника + IP-адрес назначения + протокол и только на 15–30 минут. У меня нет лицензированных / активированных служб расширенной фильтрации Sonicwall. Я потенциально могу проверить эту теорию, сбросив Sonicwall во время возникновения проблемы, что является немного пугающим предложением, учитывая, что другие пользователи обращаются к серверу одновременно.
- Возможно, виртуальное сетевое соединение между Server Core (хост O / S) и Server 2008 R2 (гостевым O / S) каким-то образом блокирует соединение на некоторый период времени. Не знаю, как я могу это проверить / диагностировать.
- Может быть, какая-то странная проблема с драйверами сетевой карты на хост-машине? Не знаю, как это проверить.
Это не очень удовлетворительное решение, но я перешел от виртуализированного решения, описанного выше, к автономному серверу, и пока проблема исчезла. Я не знаю, была ли это проблема с сетевой картой предыдущего хоста, с виртуальным сетевым адаптером, находящимся между виртуальной машиной и хост-машиной, или с чем-то еще, но на данный момент все работает нормально. Если проблема возникнет снова, я обновлю этот вопрос / ответ.