0

У нас есть около 50 сайтов, которые используют один и тот же код (через символическую ссылку). Запросы обрабатываются IIS 7.5 -> Tomcat 7 -> ColdFusion 10. Мы используем модуль перезаписи IIS (web.config). ОС - Windows Server 2008 R2.IIS перезаписывает причину задержки ответа 60 секунд

При запросе URL как /stylesheets/merge.css, /scripts/merge.js или /api/service.json, который переписан в .cfm файл (ColdFusion), который возвращает динамический контент в соответствующем MIME типа, запрос принимает ровно 60 секунд, чтобы получить ответ. Эта задержка не возникает, когда переписывание указывает на статический файл, который обрабатывается IIS. Это также происходит не с переписаниями.

Теперь вот странная часть: Эта проблема возникает только в Internet Explorer и Microsoft Edge и только на 1 из 50 сайтов.

  • TTFB находится в пределах ожидаемого диапазона (ниже 100 мс), загрузка контента (10-100 КБ) задерживается на ровно 60 секунд.
  • Мы протестировали с IE 11 и Edge на 3 разных станках/сетях. Те же результаты по всем им.
  • Я воссоздал затронутый сайт в IIS, без изменений.

Пример правила перезаписи:

<rule name="stylesheet" stopProcessing="true"> 
    <match url="^stylesheets/merged/([^/]+)\.css$" ignoreCase="true" /> 
    <action type="Rewrite" url="/symlink/design/stylesheets/merge.cfm?mode={R:1}" appendQueryString="true" /> 
</rule> 

Что может быть причиной этого? Как я могу исследовать это дальше?

+0

С такими стабильными воспроизводимыми шагами вы можете использовать такие инструменты, как Fiddler/Wireshark на стороне клиента, и Failed Request Tracing на стороне сервера, чтобы погрузиться глубже. –

+0

Кажется, что с Fiddler (как и все другие браузеры), и нет неудачного запроса, просто огромная задержка. Это должно быть связано с IIS, но я не знаю, где проверить. – Alex

+0

FRT также может использоваться для успешных запросов. Используйте это, чтобы проверить время, проведенное внутри IIS. –

ответ

0

Мы выяснили. Это была неправильная конфигурация на стороне нашего хозяина. Использованный балансировщик нагрузки (HAProxy) закрыл все HTTP-соединения, запрещающие кодирование с передачей пакетов. IE/Edge являются единственными браузерами, которые, по-видимому, не отпадают.