Правила фильтра запросов IIS не отображаются в applicationHost.config - PullRequest
0 голосов
/ 11 апреля 2019

Я начинаю с фильтров запросов, чтобы блокировать трафик ботов. Я начал с примера файла .htaccess, см. Здесь: Преобразователь правил Ita htaccess, импортирующий только 1 правило

Я не хочу вручную добавлять массу правил через неуклюжий интерфейс IIS, поэтому я бы предпочел добавить их в файл напрямую. Я думал, что эти правила будут в applicationHost.config (на основе этого поста ), но при открытии %WINDIR%\System32\inetsrv\config\applicationHost.config я не вижу ни одного из правил. Я также видел этот пост , поэтому я попытался открыть файл с помощью Notepad ++, а также Windows Notepad, но я все еще не вижу правило, созданное в IIS.

Почему бы и нет?

1 Ответ

1 голос
/ 11 апреля 2019

IIS имеет систему распределенной конфигурации, и, как упоминает Лекс Ли, большой ресурс для ознакомления: https://docs.microsoft.com/en-us/iis/get-started/planning-your-iis-architecture/the-configuration-system-in-iis-7

Ваши изменения конфигурации, несомненно, были отправлены в файл web.config. Расположение, в котором изменяется конфигурация, зависит от конфигурации, но по умолчанию фильтрация запросов переходит к самому низкому файлу конфигурации, для которого вы устанавливаете. Другими словами, если вы настраиваете фильтрацию запросов для сайта, он перейдет в web.config этого сайта. Если вы настраиваете в подкаталоге, он перейдет в web.config этого подкаталога. На самом деле вы можете влиять на то, куда идут настройки (то есть на конкретную конфигурацию сайта можно перейти по ApplicaitonHost.config), и это намного проще с помощью командной строки.

Если вы посмотрите на образец AppCmd.exe в документации ScanHeaders, эти команды внесут изменения (по умолчанию) в веб-сайт по умолчанию web.config. Вы можете добавить / зафиксировать: AppHost в конце их, чтобы параметры применялись к ApplicationHost.config.

...