Назад | Перейти на главную страницу

Как отключить фильтрацию запросов для определенного веб-сайта в IIS 7.5?

В моем IIS 7.5 включена фильтрация запросов, и я хочу, чтобы она оставалась такой, однако один сайт в основном является прокси-сервером для некоторого внутреннего приложения Java, и я хотел бы отключить фильтрацию запросов для этого сайта. Возможно ли это?

Вы можете включить фильтрацию запросов для верхнего (серверного) уровня, а затем просто добавить <clear /> в отдельных разделах файла web.config для сайта, для которого вы не хотите использовать фильтрацию запросов:

<configuration>
   <system.webServer>
      <security>
         <requestFiltering>
            <denyUrlSequences>
               <clear />
            </denyUrlSequences>
            <fileExtensions allowUnlisted="true">
               <clear />
            </fileExtensions>
         </requestFiltering>
      </security>
   </system.webServer>
</configuration>

Я удивлен, что с 2012 года здесь нет ответа на этот вопрос. В IIS действительно есть положение для удаления фильтра, но, к сожалению, не используя пользовательский интерфейс IIS (даже в 2019 году, как я пишу). Вместо, это можно легко сделать, внимательно отредактировав файл web.config на сайте (или создание, если необходимо).

Вкратце, фильтр можно удалить, изменив любой элемент isapiFilters, который вы можете найти (или добавив его, если необходимо, см. Ниже), а затем добавив однострочный элемент «remove», назвав фильтр, который вы хотите удалить. Помните, что имя фильтра чувствительно к регистру.

Предполагая, что у вас уже есть web.config без элементов isapiFilters, вы можете добавить эти строки в файл (опять же, обратите внимание на регистр всех трех строк, если вы вводите, а не копируете / вставляете), что приведет к удалению фильтра с именем Bob:

<isapiFilters>
    <remove name="Bob" />
</isapiFilters>

Это будет найдено или размещено на одном уровне внутри элемента system.webServer, как показано в другом ответе здесь.

Некоторым читателям это может быть все, что им нужно услышать. Другие могли бы использовать более подробные сведения, и я надеюсь осветить это в сообщении в блоге, ссылка на который я вернусь сюда и добавлю, когда сделаю это, включая описание: все строки, необходимые, если у вас нет web.config, какие ошибки вы может ударить по этому поводу, и советы по более безопасному внедрению подобных изменений.