
Наше приложение использует модуль IIS UrlRewrite для временного перенаправления запросов во время обновлений на сайт обслуживания. Мы видели несколько случаев, когда даже после удаления правила перенаправления сервер продолжал перенаправлять все запросы в соответствии с удаленным правилом. Похоже, что в этом нет никакой закономерности, и это произошло только один или два раза.
Мы предприняли следующие шаги, чтобы попытаться определить причину такого поведения.
- Проверено, что исходное правило было временным перенаправлением 307
- Запросили приложение с машин, которые никогда его раньше не запрашивали
- Использовал другой браузер
- Добавлено и удалено фиктивное правило из консоли управления IIS.
- Проверил кэш ядра http с помощью
netsh http show cachestate
- Изменили файл applicationHost.config вручную (правила в файле еще не было, мы просто добавили лишний пробел)
Раньше, когда это случалось, нам удавалось перезапустить IIS, и это решало проблему, но это не всегда возможно, и мы действительно хотим выяснить, в чем кроется основная причина.
Как или почему UrlRewrite кэширует ответ и не реагирует на изменения конфигурации?
решение1
У меня недостаточно репутации, чтобы добавить комментарий, но как вы удаляете правило? Вы используете <remove name=""/>
или удаляете правило? Если вы просто удаляете его, возможно, попробуйте использовать элемент remove.