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

Веб-сайт (IIS через Apache ProxyPass / ProxyPassReverse) периодически обслуживает неправильный контент

У меня есть веб-сайт IIS, который обслуживает контент через Apache (ProxyPass и ProxyPassReverse - причина такой странной конфигурации историческая). Apache находится за прокси-серверами других компаний. На сайте есть статические файлы и один виртуальный каталог для части WebAPI, обслуживающей JSON.

Пользователи иногда получают неправильный контент - например, посещение домашней страницы возвращает изображение, на которое есть ссылка на домашней странице, или какая-либо другая html-страница на сайте, или некоторый JSON (из WebAPI). На домашней странице отключено кеширование.

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

IIS: версия 6.1

Apache: версия 2.2.13

Что может быть причиной этой периодически возникающей проблемы или есть хороший способ выяснить, что происходит?

Возможно, страница с «ошибкой» перенаправляется на домашнюю страницу. Или просто отображение домашней страницы. Это также объясняет, почему эта проблема проявляется при высокой нагрузке на сервер. Я бы проверил конфигурацию IIS для этого.

Вот как я бы отладил проблему в общем виде.

Я бы попытался изолировать проблему. Для этого я бы записал трафик по следующим путям:

  • веб-клиент - apache
  • apache - IIS

Тогда я проверю, что случилось. И попробуйте сопоставить запрос и ответы. Вы можете записывать трафик любым сетевым сниффером и анализировать его с помощью Wireshark. Вы также можете записывать трафик с управляемого коммутатора, используя SPAN или RSPAN.

Тогда я бы попытался воспроизвести проблему. Вы можете клонировать машины и протестировать клон с помощью программного обеспечения для нагрузочного тестирования, например JMeter. Проверьте журнал ошибок веб-серверов. Попытайтесь выяснить, каких пределов вы достигаете. Может быть ограничение пула соединений, таймауты ...