IIS Динамические ограничения IP в расположении web.config
Я пытаюсь использовать ограничения IIS Dynamic IP для ограничения запросов с того же IP. У меня работает модуль, и запросы хорошо регулируются, если я изменяю настройки динамических ограничений из интерфейса IIS. Это хорошо, однако мне нужно иметь разные тарифы на разные URL. Логин должен быть, например, более строгим, чем статические ресурсы. Я пытаюсь использовать locations
в web.config для достижения этой цели.
<configuration>
<location path="foo">
<system.webServer>
<security>
<dynamicIpSecurity enableLoggingOnlyMode="true">
<denyByRequestRate enabled="true" maxRequests="1"
requestIntervalInMilliseconds="5000" />
</dynamicIpSecurity>
</security>
</system.webServer>
</location>
</configuration>
К сожалению, это не относится. Я совершенно уверен, что это не имеет никакого отношения к моему приложению, потому что оно не работает и в статической сети с одним HTML-файлом. Я также совершенно уверен, что путь к местоположению правильный, потому что запросы будут заблокированы, если я добавлю ...<deny users="*" />
,
1 ответ
Это невозможно. Из описания модуля:
Этот модуль можно настроить таким образом, чтобы анализ и блокировка выполнялись на уровне веб-сервера или веб-сайта.
Внутренне это реализовано как HttpModule (нативный HttpModule). HttpModule запускается для каждого запроса - местоположение не влияет на них. Для справки проверьте Исключить определенные страницы с использованием HTTPModule
Таким образом, ваш единственный другой вариант (если вам требуется поддержка именно этого модуля) - это организовать ваш сайт вместо нескольких мини-приложений.
подобно
/ -> корневое веб-приложение
/Content -> веб-приложение со статическим контентом
/ Логин -> веб-приложение с функцией входа в систему
И в каждом мини-приложении создайте web.config с соответствующими правилами.