Я использую модуль ARR в службе приложений Azure в течение месяца или около того (используя метод, описанный здесь , используя его в качестве обратного прокси-сервера на некоторых маршрутах для пересылкизапросы к серверу Wordpress.
Сайт на AppService является сайтом ASP.NET MVC, с некоторыми путями, использующими прокси, остальные обрабатываются MVC.
Все работало отлично.
Затем внезапно я начал получать периодические ошибки 502, только для обратных путей прокси-сервера (все другие маршруты, которые не проксируются и обрабатываются ASP.NET MVC, подходят). В журналах IISsc-win32-status
равно 12002. ( 'Интернет отключен' . Подробнее здесь )
Факты:
- Машина не работаетне испытывает стресса (если бы это было так, я бы ожидал, что все маршруты будут затронуты)
- Истекло время ожидания только для обратных прокси-маршрутов
- Время простоя / медлительность обычно длится 1-5минут
- Я тестировал прокси-сервер нижестоящего сервера в то времявопроса, но это всегда хорошо.Означает, что это прокси, а не сервер.
Правило прокси выглядит следующим образом:
<rule name="Wordpress Blog - Hubs" stopProcessing="true">
<match url="^(advice|lifestyle|news|wp-json|feed|about-us|contact-us|privacy-policy|terms-of-use)$" />
<conditions>
<add input="{HTTP_HOST}" pattern="www.mysite.com.au" />
</conditions>
<action type="Rewrite" url="https://mysite.wpengine.com/{R:1}" />
</rule>
Вот что перехвачено "Collect .NET Profiler Trace":
Нажатие на «Сведения» мало чем помогает:
Неудачные запросы выглядят так:
Так что время работы модуля ARR определенно истекло, но я не могу понять, как объяснить, почему.Любые идеи о том, как я могу диагностировать это?Я не уверен, как отлаживать, так как это не «код», поэтому такие вещи, как ApplicationInsights, не помогут.Я пытаюсь получить дамп памяти, но так как это происходит только в течение <5 минут, а дамп памяти занимает больше времени, чем захват, трудно вовремя его записать. </p>
Любой совет будет очень признателен.
Спасибо