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

Почему некоторые из моих клиентов на короткое время теряют возможность подключения по протоколу HTTP?

Я запускаю IIS 7.5 на сервере 2008 R2, виртуализированном на сервере Windows Core 2008 R2 на серверном оборудовании Intel, находящемся за брандмауэром Sonicwall.

Вот уже несколько месяцев у нас есть несколько клиентов (возможно, один в неделю), которые связываются с нами и говорят, что не могут получить доступ к веб-сайту. Когда это происходит, я немедленно начинаю диагностировать проблему и вот что обнаруживаю:

  1. Я могу получить доступ к сайту.
  2. Наш обслуживающий персонал в других местах может получить доступ к веб-сайту.
  3. Предположительно (потому что мы ничего о них не слышим) другие клиенты могут получить доступ к сайту.
  4. Клиент может пинговать и трассировать сервер.
  5. Клиент не может получить доступ к другим веб-сайтам на том же сервере, которые имеют тот же IP-адрес.
  6. Клиент может получить доступ к другим веб-сайтам на том же сервере, которые используют другие IP-адреса.
  7. iisreset не решает проблему.
  8. Сброс маршрутизатора клиента не решает проблему.
  9. Очистка кэша ARP нашего брандмауэра не решает проблему.
  10. Изменение браузера клиента и / или перезагрузка его машины не решают проблему.
  11. Переключение на другой компьютер за маршрутизатором клиента не решает проблему.
  12. Через 15–30 минут проблема каким-то волшебным образом разрешается сама собой, и клиент снова может получить доступ к сайту.
  13. В случае сбоя клиент видит сообщение о тайм-ауте, а в журналах IIS вообще нет записей о запросе.

Прочие примечания:

  1. Похоже, что не существует модели, на каких клиентов влияет эта проблема.
  2. Мы не используем балансировку нагрузки.
  3. За исключением брандмауэра, перед IIS нет другого программного обеспечения / оборудования для обеспечения безопасности.
  4. На виртуальной машине IIS установлены все последние обновления Windows.
  5. В установке Server Core есть все последние обновления Windows.
  6. На Sonicwall установлена ​​последняя версия прошивки.

Я подозреваю, что проблема может быть:

  1. Если браузер клиента неправильно разрешал DNS для веб-сайта, это могло вызвать все вышеперечисленные проблемы. В следующий раз, когда это произойдет, я буду использовать Fiddler для проверки IP-адреса, к которому браузер пытается подключиться. Не уверен, почему тогда ping сможет правильно разрешить его из командной строки.
  2. Возможно, Sonicwall каким-то образом блокирует соединение. В этом случае блокируется только определенный IP-адрес источника + IP-адрес назначения + протокол и только на 15–30 минут. У меня нет лицензированных / активированных служб расширенной фильтрации Sonicwall. Я потенциально могу проверить эту теорию, сбросив Sonicwall во время возникновения проблемы, что является немного пугающим предложением, учитывая, что другие пользователи обращаются к серверу одновременно.
  3. Возможно, виртуальное сетевое соединение между Server Core (хост O / S) и Server 2008 R2 (гостевым O / S) каким-то образом блокирует соединение на некоторый период времени. Не знаю, как я могу это проверить / диагностировать.
  4. Может быть, какая-то странная проблема с драйверами сетевой карты на хост-машине? Не знаю, как это проверить.

Это не очень удовлетворительное решение, но я перешел от виртуализированного решения, описанного выше, к автономному серверу, и пока проблема исчезла. Я не знаю, была ли это проблема с сетевой картой предыдущего хоста, с виртуальным сетевым адаптером, находящимся между виртуальной машиной и хост-машиной, или с чем-то еще, но на данный момент все работает нормально. Если проблема возникнет снова, я обновлю этот вопрос / ответ.