Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Команда IIS, Tobin Titus
Compatibility
| Версия | Примечания. |
|---|---|
| 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/или непосредственно в файл web.config приложения. Новый диспетчер IIS должен: 1) разрешить администратору управлять конфигурацией, разрешенной в web.config файлах, 2) показывать администратору или пользователю, где записывается конфигурация. Старый менеджер IIS не справлялся с этими задачами. - Инженерные причины: программное обеспечение имеет срок хранения. Время приносит новые технологии, новые требования, новые соглашения, и есть момент, когда обновление существующего программного обеспечения становится более трудоемким и дорогостоящим, чем перестроение программного обеспечения. Диспетчер IIS приближается к концу срока своей актуальности.
Что-нибудь еще знать? После того как мы решили переписать диспетчер IIS, мы воспользовались возможностью улучшить ряд ключевых способов:
- Устранимость: Расширение версии IIS 6.0 диспетчера IIS было чрезвычайно сложным. Новый диспетчер IIS упрощает добавление страниц функций, узлов дерева и элементов меню; все используют управляемый код и WinForms. Новые расширения диспетчера IIS автоматически обнаруживаются и загружаются удаленными клиентами диспетчера IIS, подключающимися к серверу.
- Удаленное администрирование: удаленное администрирование выполняется по протоколу HTTPS, что упрощает управление брандмауэром. Веб-служба управления (WMSVC) — это необязательный компонент, который включает удаленное администрирование.
- Новый внешний вид и ощущение: диспетчер IIS требует более масштабируемой модели для предоставления параметров, а результирующее представление списка функций напоминает панель управления. Представление списка может быть отсортировано, сгруппировано и просматриваться разными способами, что упрощает поиск нужных элементов. Навигация в диспетчере IIS стала более похожей на браузер благодаря адресной строке в стиле Windows Explorer.
Замечание
Этот документ был написан для Windows Server 2008. Windows Vista® может не иметь некоторых функций и функций, описанных в этом документе.
Новый внешний вид и восприятие
Диспетчер служб IIS ранее имел навигацию типа "назад/вперед", и новый диспетчер IIS развивает эту идею, добавив адресную строку, которая работает подобно Windows Explorer.
Рис. 1. Новый диспетчер IIS
Домашняя страница
Домашняя страница станет очень знакома сразу после начала работы с диспетчером IIS. Список функций в середине можно отсортировать по имени или описанию компонентов, сгруппирован по областям или категориям и просматриваться в разных макетах.
Рис. 2. Группирование в диспетчере IIS
Области функций
Сервер, сайт, приложение, виртуальный каталог и узлы папок в представлении дерева отображают домашнюю страницу со списком функций. Большинство функций отображаются на домашних страницах для всех этих узлов, но существуют исключения.
Эти функции отображаются на домашней странице сервератолько потому, что они являются конфигурацией на уровне сервера, данными или информацией:
- Ограничения ISAPI и CGI
- Сертификаты (но не отображаются вообще в удаленных подключениях)
- Служба управления (но не отображается вообще в удаленных подключениях)
- Рабочие процессы
Эти функции появляются везде, кроме домашней страницы сервера , так как они являются конфигурацией приложений, и они не являются логическими на уровне сервера или потому, что они просто работают лучше таким образом (SSL):
- Пользователи членства
- Роли членства
- Profile
- SSL
Характеристики, связанные с делегированием, имеют специальные правила для того, где они появляются:
- Делегирование компонентов: всегда отображается только для корневого узла подключения.
- Администраторы: отображается только для узлов серверов, сайтов и приложений
Макеты страниц компонентов
В IIS есть три типа страниц
Страница со списком
Страницы списка содержат списки. Большинство страниц списка позволяют группировать по значениям в одном или нескольких столбцах. Основные страницы списка, такие как сайты и пулы приложений, позволяют фильтровать записи списка, выполняя поиск в столбце списка для записей, соответствующих строке поиска.
Рис. 3. Страница списка диспетчера IIS
Задачи add/Edit/Remove в области задач позволяют управлять содержимым списка. Параметры функций, которые не относятся к записи списка, например, указание, что пользовательские ошибки должны быть переопределены подробными ошибками для локальных запросов, обычно настраиваются с помощью задачи Изменить настройки функций....
Рис. 4. Действия диспетчера IIS
Сетка свойств
На страницах сетки свойств отображаются сетки связанных свойств. Селектор отображения в верхней части сетки свойств позволяет выбрать, хотите ли вы просматривать понятные имена свойств, имена свойств конфигурации или оба. Скриншот показывает оба имени.
Рис. 5. Сетки свойств в диспетчере IIS
Dialog
Страницы диалоговых окон имеют флажки, текстовые поля и переключатели, и обычно являются наиболее знакомым типом страницы. Чтобы сохранить изменения, используйте Применить/Отменить в панели задач.
Просмотр содержимого
Представление содержимого — это отображение только для чтения; Вы не можете создавать, копировать, перемещать или удалять файлы или папки в этом представлении. Вы можете перейти в представление содержимого, щелкнув "Представление содержимого" в переключателе представления функций и представления контента в нижней части средней панели диспетчера 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 будет отображаться внутри тега location с overrideMode="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, а также во всех распределенных 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 и корневой 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 и корневой web.config для функций ASP.NET.
- "localhost/Default Web Site": файл web.config в физической папке веб-сайта по умолчанию
- "localhost/Default Web Site/careers/technical": web.config файл в физической папке, которая сопоставляется с URL-адресом "/careers/technical" в веб-сайте по умолчанию
Имя <config\_file\_name> целевого файла конфигурации, например:
- "applicationHost.config или корневой Web.config": applicationHost.config для функций IIS, корневой Web.config для функций ASP.NET
- "web.config": файл web.config в пространстве имен веб-сайта
Это <location\_path> путь к расположению настраиваемого объекта (дополнительные сведения о путях расположения см. раздел Обзор конфигурации). Эта часть текста отображается только в том случае, если раздел конфигурации компонента заблокирован на более высоком уровне.
На снимке экрана показаны выбранная опция "Переключиться на представление функций" и область "Действия".
Пример: Запись в ApplicationHost.config по сравнению с корневой 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#">
В строке состояния для обеих этих ситуаций будет указано: Конфигурация: "localhost" applicationHost.config или корневой 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 или корневой web.config, <location path="Default Web Site">
Удаленное управление с помощью диспетчера IIS для IIS 6.0 и более ранних версий осуществлялось через 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 в ping.axd
Запросы на вход
Диспетчер IIS отправляет запрос на вход через проводной канал в WMSVC для инициации подключения. Проверка подлинности — NTLM или базовая, в зависимости от того, какой пользователь выбрал, когда им было предложено предоставить учетные данные в диалоговом окне подключения.
Рис. 9. Указание учетных данных
Запросы на скачивание кода
Если вход выполнен успешно, WMSVC возвращает список модулей пользовательского интерфейса для подключения. Например, каждая страница диспетчера IIS, например "Пользовательские страницы ошибок", соответствует модулю. Если у диспетчера IIS нет модуля, он будет запрашивать скачивание двоичных файлов модуля (например, это произойдет, если администратор сервера установил новый продукт RSA Security на своем рабочем сервере, но не установит продукт на своем рабочем компьютере, который он использует для подключения к серверу).
Запросы службы управления
После установки подключения конечный пользователь взаимодействует с диспетчером IIS, вызывая запросы службы управления. Служба управления запрашивает прямые службы модулей в WMSVC для чтения и записи конфигурации, состояния среды выполнения и поставщиков на сервере.
Пинг-запросы
Пинг-запросы выполняются из службы WMSVC к веб-серверу (HWC), которым она управляет. Запросы ping — это простой механизм, обеспечивающий, чтобы хостируемое веб-ядро продолжает реагировать.
Конфигурация сервиса
WMSVC имеет очень небольшой набор редактируемой конфигурации, хранящейся в реестре. При каждом перезапуске службы файлы веб-конфигурации регенерируются в %windir%\ServiceProfiles\LocalService\AppData\Local\Temp\WMSvc<GUID>\. Файлы веб-конфигурации не могут быть изменены даже администраторами.
Рис. 10. Изменение конфигурации в реестре
Безопасность
Удаленное взаимодействие диспетчера IIS и веб-службы управления (WMSVC) прошло через ряд проверок, чтобы гарантировать, что функциональные возможности являются простыми и безопасными. Это несколько мер безопасности, принятых:
- Требуетсяпротокол SSL (HTTPS) для всех подключений для защиты данных, передаваемых между удаленным клиентом диспетчера IIS и WMSVC
- Выполняется как локальная служба с ограниченным набором разрешений
Ограниченная конфигурация хостируемого веб-ядра (HWC), включая минимальный набор обязательных модулей и внимательно продуманные правила фильтрации запросов.