Прочитать на английском

Поделиться через


Изменение конфигурации области или доступ

Система конфигурации IIS — это иерархия, которая расширяется от конфигурации корневого веб-сервера до отдельных папок с веб-приложением. Корневой файл конфигурации называется applicationHost.config и находится в каталоге установки IIS. Остальная часть конфигурации веб-приложения существует в web.config файлах в каталогах приложения. Одним из преимуществ использования web.config файлов является то, что приложение может вводить конфигурацию по разным путям, не затрагивая веб-сервер в целом. В то же время можно определить конфигурацию в корневом applicationHost.config , предназначенной только для определенного пути в определенном веб-приложении. Это означает, что существует два разных способа определения области конфигурации.

  1. Чтение и изменение конфигурации для произвольного пути веб-приложения.
  2. Изменение конфигурации для определенного пути, но размещение конфигурации в файле конфигурации на более высоком уровне в иерархии конфигурации.
    • Пример. Изменение параметра для веб-сайта по умолчанию/MyApp/MyFolder и его размещение в файле web.config, расположенном в корне веб-сайта по умолчанию

Нацеливание на определенный путь в веб-приложении

Запрос конфигурации по определенному пути выполняется с помощью фильтра запросов области .

Пример (строка запроса не закодирована по URL-адресу для удобства чтения):

GET https://localhost:55539/api/webserver/http-request-filtering?scope=Default Web Site/MyApp/MyFolder

Этот запрос сообщает API запрашивать параметры фильтрации запросов для каталога MyFolder в приложении MyApp веб-сайта по умолчанию. Возвращаемый ресурс фильтрации запросов будет иметь идентификатор , необходимый для изменения параметров на этом уровне в системе конфигурации.

Настройка конфигурации и ее хранение на более высоком уровне

Наиболее распространенным вариантом использования этой возможности является настройка параметров конфигурации, к которым имеют доступ только администраторы веб-сервера. Обычно это делается для действий, которые могут повлиять на общую безопасность веб-сервера. Обычно эти параметры не могут быть определены в файлах web.config для приложения, поэтому веб-администратор может настроить приложения и сообщить параметрам, которые должны находиться в файлеapplicationHost.config . Это реализуется в файле applicationHost.config с помощью <элемента расположения> , указывающего на путь конфигурации, который должен повлиять на параметры.

Для этого используйте config_scope в тексте запроса PATCH, используемого для изменения параметров. Значением свойства config_scope должен быть путь веб-сервера к файлу конфигурации, в котором должны находиться параметры. Например, пустой путь "" ссылается на корневой файл applicationHost.config, а путь "Веб-сайт по умолчанию/MyApp" ссылается на файл web.config в приложении MyApp на веб-сайте по умолчанию.

Пример

Предположим, что целью является включение просмотра каталога для пути по умолчанию веб-сайт/MyApp/MyFolder, идентификатор этого ресурса — WXYZ, а параметры должны храниться в файле applicationHost.config.

PATCH https://localhost:55539/api/webserver/directory-browsing/WXYZ

{
    "enabled": "true",
    "config_scope": ""
}