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


Начало работы с диспетчером IIS в IIS

Команда IIS, Tobin Titus

Совместимость

Версия Примечания.
IIS 7.0 и более поздних версий Функции, описанные в этой статье, были представлены в IIS 7.0.
IIS 6.0 и более ранних версий Функции, описанные в этой статье, не поддерживаются до IIS 7.0.

Введение

IIS 7.0 и более поздних версий имеют новый пользовательский интерфейс из предыдущих версий IIS: диспетчер IIS. В этой статье описывается внешний вид, делегирование функций, взаимодействие с конфигурацией и удаленное взаимодействие. Обратите внимание, что некоторые версии IIS могут не иметь некоторых функций и функций, описанных в этом документе.

Почему это нужно было изменить? Ниже приведены некоторые основные причины.

  • СЛУЖБЫ IIS и ASP.NET работать вместе: пользователи IIS 6.0 щелкните правой кнопкой мыши веб-сайт, выберите "Все свойства" и получите диалоговое окно с рядом вкладок для различных параметров. С помощью IIS 7.0 и более поздних версий диспетчер IIS должен отображать конфигурацию для новых функций, таких как кэширование выходных данных, трассировка неудачных запросов и фильтрация запросов, а также настройка для ASP.NET и соответствующих частей платформа .NET Framework. Новые функциональные возможности потребовали бы гораздо больше новых вкладок, неприемлемый вариант.
  • Делегированное администрирование. Перемещение конфигурации из метабазы в систему конфигурации .NET означает, что пользователи могут, если это разрешено, задать конфигурацию IIS в файлах web.config. Например, конфигурацию для приложения http://www.contoso.com/sales можно записать в корневой файл конфигурации applicationHost.config, в файл web.config сайта http://www.contoso.com/ или непосредственно в файл веб-конфигурации приложения. Новый диспетчер IIS должен: 1) разрешить администратору управлять конфигурацией, разрешенной в файлах web.config, 2) показывать администратору или пользователю, где записывается конфигурация. Старый диспетчер IIS не был до этих проблем.
  • Инженерные причины: программное обеспечение имеет срок хранения. Время приносит новые технологии, новые требования, новые соглашения, и есть момент, когда обновление существующего программного обеспечения становится более трудоемким и дорогостоящим, что перестроение программного обеспечения. Диспетчер IIS приближается к концу срока его хранения.

Что-нибудь еще знать? После того как мы решили переписать диспетчер IIS, мы воспользовались возможностью улучшить ряд ключевых способов:

  • Расширяемость. Расширение версии IIS 6.0 диспетчера IIS было запрещено. Новый диспетчер IIS упрощает добавление страниц функций, узлов дерева и элементов меню; все используют управляемый код и WinForms. Новые расширения диспетчера IIS автоматически обнаруживаются и загружаются удаленными клиентами диспетчера IIS, подключающимися к серверу.
  • Удаленное администрирование: удаленное администрирование выполняется по протоколу HTTPS, что упрощает управление брандмауэром. Веб-служба управления (WMSVC) — это необязательный компонент, который включает удаленное администрирование.
  • Новый внешний вид и ощущение: диспетчер IIS нуждается в более масштабируемой модели для предоставления параметров, и итоговое представление списка функций напоминает панель управления. Представление списка может быть отсортировано, сгруппировано и просматриваться разными способами, что упрощает поиск нужных элементов. Навигация диспетчера IIS также взяла на себя более браузерный интерфейс с адресной строкой la Windows Explorer.

Примечание.

Этот документ был написан для Windows Server 2008. Windows Vista® может не иметь некоторых функций и функций, описанных в этом документе.

Новый внешний вид и чувство

службы IIS (IIS) Диспетчер имел навигацию по типу back/Forward в прошлых выпусках, и новый диспетчер IIS делает это еще дальше, добавив адресную строку, которая работает как проводник Windows.

Снимок экрана: экран

Рис. 1. Новый диспетчер IIS

Домашняя страница

Домашняя страница станет очень знакома сразу после начала работы с диспетчером IIS. Список функций в середине можно отсортировать по имени или описанию компонентов, сгруппирован по областям или категориям и просматриваться в разных макетах.

Снимок экрана: домашняя панель веб-сайта по умолчанию с группировкой, представлениями и списком компонентов.

Рис. 2. Группирование в диспетчере IIS

Области компонентов

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

Эти функции отображаются на домашней странице сервера только потому, что они являются конфигурацией на уровне сервера, данными или информацией:

  • Ограничения ISAPI и CGI
  • Сертификаты (но не отображаются вообще в удаленных подключениях)
  • Служба управления (но не отображается вообще в удаленных подключениях)
  • Рабочие процессы

Эти функции появляются везде, кроме домашней страницы сервера, так как они являются конфигурацией приложений, и они не являются логическими на уровне сервера или потому, что они просто работают лучше таким образом (SSL):

  • Пользователи членства
  • Роли членства
  • Профиль
  • SSL

Функции, связанные с делегированием, имеют специальные правила , для которых они отображаются:

  • Делегирование компонентов: всегда отображается только для корневого узла подключения.
  • Администраторы: отображается только для узлов серверов, сайтов и приложений

Макеты страниц компонентов

В IIS есть три типа страниц

Страница списка

Страницы списка содержат списки. Большинство страниц списка позволяют группировать по значениям в одном или нескольких столбцах. Основные страницы списка, такие как сайты и пулы приложений, позволяют фильтровать записи списка, выполняя поиск в столбце списка для записей, соответствующих строке поиска.

Снимок экрана: часть экрана

Рис. 3. Страница списка диспетчера IIS

Задачи add/Edit/Remove в области задач позволяют управлять содержимым списка. Параметры компонентов, которые не относятся к записи списка, например, указывая, что пользовательские ошибки должны быть переопределены подробными ошибками для локальных запросов, обычно настраиваются с помощью задачи "Изменить параметры компонентов... ".

Снимок экрана: страница параметров компонентов с панелью оповещений.

Рис. 4. Действия диспетчера IIS

Сетка свойств

На страницах сетки свойств отображаются сетки связанных свойств. Селектор отображения в верхней части сетки свойств позволяет выбрать, хотите ли вы просматривать понятные имена свойств, имена свойств конфигурации или оба. Снимок экрана ниже: оба имени.

Снимок экрана: страница сетки свойств с понятными именами конфигураций и именами конфигураций.

Рис. 5. Сетки свойств в диспетчере IIS

Диалоговое окно

Страницы диалоговых окон имеют флажки, текстовые поля и переключатели, и обычно являются наиболее знакомым типом страницы. Чтобы сохранить изменения, используйте применить или отменить в области задач.

Представление содержимого

Представление содержимого — это отображение только для чтения; Вы не можете создавать, копировать, перемещать или удалять файлы или папки в этом представлении. Вы можете перейти в представление содержимого, щелкнув "Представление содержимого" в переключателе представления функций и представления контента в нижней части средней панели диспетчера IIS или щелкнув правой кнопкой мыши узел представления дерева и выбрав пункт "Переключиться на представление контента".

Единственным способом настройки файла является переключение на представление содержимого, выбор файла и нажатие кнопки "Переключиться на режим функций" в меню правой кнопкой мыши или в области задач.

Снимок экрана: параметры представления функций и представления содержимого.

Рис. 6. Переход к представлению функций

Делегирование компонентов

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

Делегирование функций IIS означает управление:

  • Блокировка раздела конфигурации для управления настройкой конфигурации в web.config (как правило, один раздел конфигурации IIS является одним модулем IIS).
  • Набор пользователей сайта и приложений, которым разрешено использовать диспетчер IIS для просмотра конфигурации и настройки компонентов с разблокированных разделов конфигурации

Ниже приведено краткое описание делегирования функций в диспетчере IIS. Подробные инструкции см. в статье "Управление делегированием функций".

Блокировка конфигурации

Если раздел конфигурации заблокирован по умолчанию, его можно настроить только в applicationHost.config. Диспетчер IIS предоставляет средства для администраторов сервера для разблокировки разделов конфигурации IIS. После разблокировки раздела конфигурации его можно задать в файлах web.config неадминистраторами.

Например, функция "Пользовательские страницы ошибок" в диспетчере IIS взаимодействует с конфигурацией в разделе system.webServer/httpErrors. Если администратор сервера использует диспетчер IIS или appcmd для разблокировки раздела конфигурации system.web/httpErrors, раздел httpErrors будет отображаться внутри тега расположения с переопределениемMode="allow" в applicationHost.config:

<location path="" overrideMode="Allow">
    <system.webServer>
        <httpErrors/>
    </system.webServer>
</location>

OverrideMode="allow" означает, что допустимо задать конфигурацию для httpErrors в файле web.config:

<configuration>
   <system.webServer>
      <httpErrors>
         <remove statusCode="404" subStatusCode="-1" />
         <error statusCode="404" path="/errors/404.aspx" responseMode="Redirect" />
      </httpErrors>
   </system.webServer>
</configuration>

См. раздел "Подключения к серверу, сайту и приложению" ниже, чтобы узнать, как блокировка конфигурации влияет на подключения. Подробные сведения о блокировках конфигурации см. в разделе "Использование блокировки конфигурации".

Администраторы сайтов и приложений

Кроме того, администраторы серверов могут разрешить неадминистраторам использовать диспетчер IIS для подключения к сайту или приложению. Неадминистры, которые могут подключаться к сайтам или приложениям, называются "Администраторы сайта" или "Администраторы приложений", и они могут:

  • Управление разблокированной конфигурацией для своего сайта или приложения (параметры записываются в файлы web.config)
  • Просмотр заблокированных параметров конфигурации без возможности их изменения
  • Добавление других администраторов сайта или приложений для своего сайта или приложения

Сведения о создании сайтов и администраторов приложений см. в интерактивной документации по созданию сайтов и администраторов приложений для делегирования.

Подключения к серверам, сайтам и приложениям

Только администраторы компьютеров могут использовать диспетчер IIS для подключения к веб-серверу. Подключения к серверу могут записываться как в корневые файлы конфигурации, applicationHost.config, так и в корневую конфигурацию, а также во все распределенные файлы web.config. Если раздел конфигурации заблокирован в applicationHost.config, соответствующая функция будет считываться и записываться на серверном подключении, так как изменения конфигурации записываются в applicationHost.config в теге расположения.

Администраторы компьютеров и назначенные администраторы сайта могут подключаться к веб-сайтам. Подключения сайта могут записываться только в файлы конфигурации web.config в корневой папке сайта. Если раздел конфигурации заблокирован в applicationHost.config, соответствующая функция будет отображаться только для чтения в подключениях к сайту, так как подключения сайта не могут записывать конфигурацию в applicationHost.config (даже в теге расположения). Это влияет как на администраторов компьютеров, так и администраторов сайта.

Рис. 7. Иерархия конфигурации в диспетчере IIS

Администраторы компьютеров, назначенные администраторы приложений и администраторы сайтов родительского сайта приложения, могут подключаться к приложению. Подключения приложения могут записывать только в файлы конфигурации web.config в корневой папке приложения. Если раздел конфигурации заблокирован в файле applicationHost.config или файле web.config сайта, соответствующая функция будет отображаться только для чтения в подключениях к приложениям.

Сведения о подключении к серверу, сайту или приложению см. в интерактивной документации по управлению подключениями в IIS 7.0.

Настройка

Даже если вы никогда не изменяете блокировку конфигурации и никогда не используете делегирование функций, в какой-то момент вы узнаете, как диспетчер IIS решает, где следует записывать конфигурацию. Существует два правила, определяющие это поведение:

  • ApplicationHost.config и root Web.config: если компонент указан в области ASP.NET в диспетчере IIS, конфигурация уровня сервера будет записана в корневой файл web.config для платформа .NET Framework версии 2.0. Если компонент указан в области IIS в диспетчере IIS, конфигурация уровня сервера будет записана в applicationHost.config. Единственным исключением из этого правила является проверка подлинности форм, которая находится в функции проверки подлинности в области IIS.
  • Заблокирована и разблокирована конфигурация: все разделы конфигурации ASP.NET и несколько разделов конфигурации IIS разблокируются по умолчанию. Для разблокированных разделов диспетчер IIS записывает в конфигурацию сайта web.config, если конфигурация изменена для сайта, или конфигурацию приложения, если конфигурация изменена для приложения. Большинство разделов конфигурации IIS заблокированы по умолчанию. Для заблокированных разделов диспетчер IIS всегда будет записывать в applicationHost.config даже при изменении конфигурации для сайтов и приложений.

Строка состояния

В строке состояния показано, где диспетчер IIS будет записывать конфигурацию:

Конфигурация: "<config_file_object_path>"< config_file_name>, <location path="<path">>

Это <config\_file\_object\_path> путь к объекту файла конфигурации, например:

  • Localhost: конфигурация на уровне сервера; applicationHost.config для функций IIS, root web.config для ASP.NET функций.
  • "localhost/Default Web Site": файл web.config в физической папке веб-сайта по умолчанию
  • "localhost/Default Web Site/careers/technical": файл web.config в физической папке, которая сопоставляется с URL-адресом "/карьера/технические" на веб-сайте по умолчанию

Имя <config\_file\_name> целевого файла конфигурации, например:

  • "applicationHost.config или root Web.config": applicationHost.config для функций IIS, root web.config для функций ASP.NET
  • Web.config: файл web.config в пространстве имен

Это <location\_path> путь расположения к настроенной объекту (дополнительные сведения о путях расположения см. в разделе "Обзор конфигурации"). Эта часть текста отображается только в том случае, если раздел конфигурации компонента заблокирован на более высоком уровне.

Снимок экрана: выбранный параметр

Пример. Запись в ApplicationHost.config и root Web.config

Сжатие — это функция IIS, которая отображается в разделе IIS, если вы группируете или фильтруете список функций домашней страницы по областям. Если вы перейдете на страницу сжатия на уровне сервера и отключите статическое сжатие, диспетчер IIS будет записывать эту конфигурацию в %windir%\Windows\system32\inetsrv\applicationHost.config:

<urlCompression doStaticCompression="false" />

Компиляция .NET платформа .NET Framework конфигурации, и она отображается в разделе ASP.NET, если вы группируете или фильтруете список функций домашней страницы по области. Если вы перейдете на страницу компиляции .NET уровня сервера и установите язык по умолчанию на C#, диспетчер IIS добавит атрибут defaultLanguage в раздел компиляции в корневом файле web.config, т. е. %windir%\Windows\\Microsoft.NET\Framework\v2.0.50727\CONFIG\web.config:

<compilation defaultLanguage="C#">

Строка состояния для обеих этих ситуаций будет прочитана: конфигурация: Configuration: localhost applicationHost.config или root web.config

Пример: запись в заблокированную и разблокированную конфигурацию

Раздел конфигурации IIS defaultDocument разблокирован по умолчанию. Если вы настроите документ по умолчанию для веб-сайта по умолчанию, диспетчер IIS будет записывать эту конфигурацию в %windir%\inetpub\wwwroot\web.config:

<configuration>
   <system.webServer>
      <defaultDocument>
         <files>
            <clear />
            <add value="default.aspx" />
      </defaultDocument>
   </system.webServer>
</configuration>

Строка состояния будет прочитана: Конфигурация: "Веб-сайт по умолчанию" web.config

Раздел конфигурации IIS "httpErrors" разблокирован по умолчанию. Если вы настраиваете ответ HTTP 404 для веб-сайта по умолчанию, диспетчер IIS записывает эту конфигурацию в %windir%\Windows\system32\inetsrv\applicationHost.configследующее:

<location path="Default Web Site" overrideMode="Allow">
  <system.webServer>
     <httpErrors>
        <remove statusCode="404" subStatusCode="-1" />
        <error statusCode="404" path="/err/404.aspx" responseMode="Redirect" />
     </httpErrors>
  </system.webServer>
</location>

Строка состояния будет прочитана: "localhost" applicationHost.config или root web.config, <location path="Default Web Site">

Удаленное взаимодействие диспетчера IIS для IIS 6.0 и предыдущих версий IIS было через MMC и всегда было включено. При использовании IIS 7.0 и более поздних версий удаленное взаимодействие диспетчера IIS должно быть явно включено. Все удаленное управление выполняется по протоколу HTTPS и обрабатывается компонентом IIS, который называется веб-службой управления (WMSVC). Если вы хотите включить удаленное управление IIS 7.0 и более поздних версий с помощью диспетчера IIS, ознакомьтесь с инструкцией по включению удаленного взаимодействия диспетчера IIS.

Веб-служба управления (WMSVC)

Служба веб-управления (WMSVC) — это автономный веб-сервер (размещенное веб-ядро (HWC)), размещенный в службе NT. После установки и запуска WMSVC он прослушивает порт 8172 на всех неназначенных IP-адресах. Ожидается, что он получит только 4 типа запросов, и каждый из них обслуживается собственным обработчиком:

  • Запросы на вход для login.axd
  • Запросы на скачивание кода для download.axd
  • Запросы службы управления на service.axd
  • Запросы связи к ping.axd

Запросы на вход

Диспетчер IIS отправляет запрос на вход через проводной канал в WMSVC для инициации подключения. Проверка подлинности — NTLM или базовая, в зависимости от того, какой пользователь выбрал, когда им было предложено предоставить учетные данные в диалоговом окне подключения.

Снимок экрана: диалоговое окно входа с разделами N T L M и Basic.

Рис. 9. Указание учетных данных

Запросы на скачивание кода

Если вход выполнен успешно, WMSVC возвращает список модулей пользовательского интерфейса для подключения. Например, каждая страница диспетчера IIS, например "Пользовательские страницы ошибок", соответствует модулю. Если у диспетчера IIS нет модуля, он будет запрашивать скачивание двоичных файлов модуля (например, это произойдет, если администратор сервера установил новый продукт RSA Security на своем рабочем сервере, но не установит продукт на своем рабочем компьютере, который он использует для подключения к серверу).

Запросы службы управления

После установки подключения конечный пользователь взаимодействует с диспетчером IIS, вызывая запросы службы управления. Служба управления запрашивает прямые службы модулей в WMSVC для чтения и записи конфигурации, состояния среды выполнения и поставщиков на сервере.

Запросы связи

Запросы на связь выполняются из службы WMSVC на веб-сервер (HWC), на котором он размещается. Запросы связи — это простой механизм, обеспечивающий реагирование хост-ядра веб-ядра.

Конфигурация службы.
WMSVC имеет очень небольшой набор редактируемой конфигурации, хранящейся в реестре. При каждом запуске службы файлы веб-конфигурации создаются в %windir%\ServiceProfiles\LocalService\AppData\Local\Temp\WMSvc<GUID>\. Файлы веб-конфигурации не могут быть изменены даже администраторами.

Снимок экрана: файлы веб-конфигурации.

Рис. 10. Изменение конфигурации в реестре

Безопасность

Удаленное взаимодействие диспетчера IIS и веб-службы управления (WMSVC) прошло через ряд проверок, чтобы гарантировать, что функциональные возможности являются простыми и безопасными. Это несколько мер безопасности, принятых:

  • Требуется протокол SSL (HTTPS) для всех подключений для защиты данных, передаваемых между удаленным клиентом диспетчера IIS и WMSVC
  • Выполняется как локальная служба с ограниченным набором разрешений

Заблокирована конфигурация размещенного веб-ядра (HWC), включая минимальный набор обязательных модулей и тщательно созданные правила фильтрации запросов.