Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Vaidy Gopalakrishnan
Служба IIS Express была разработана, чтобы обеспечить выполнение наиболее распространенных задач веб-разработки и тестирования без прав администратора. Это очень полезно в сценариях, когда разработчики не работают с правами администратора на своих компьютерах. Даже для администраторов эта функция устраняет всплывающее окно управления учетными записями (UAC) в Windows Vista и Windows 7 от прерывания рабочего процесса.
В этой статье объясняется, какие стандартные пользователи могут делать с помощью IIS Express и описывают задачи, которые ограничены администраторами.
Локальный запуск сайтов
С помощью IIS Express стандартные пользователи могут запускать веб-сайты локально с помощью не зарезервированных портов (портов больше 1024). Привязка веб-сайта по умолчанию для IIS Express — это http://localhost:8080. По умолчанию WebMatrix и Visual Studio 2010 с пакетом обновления 1 (SP1) Beta также настраивают веб-сайты для использования localhost и не зарезервированного порта.
В отличие от этого, права администратора необходимы для обслуживания содержимого для внешних запросов или использования зарезервированного порта, например 80 или 443.
Настройка веб-сайтов и приложений
Службы IIS и IIS Express используют applicationhost.config-файл , содержащий сведения о конфигурации на уровне сервера. При использовании IIS Express каждый пользователь владеет собственной копией applicationhost.config, что означает, что пользователь может добавлять сайты, удалять сайты, настраивать виртуальные каталоги и т. д. без специальных привилегий. IIS Express ищет файл applicationhost.config в папке пользователя "Документы" (например, %userprofile%\Documents\IISExpress\config в Windows 7). IIS Express также может использовать пользовательский файл applicationhost.config с помощью переключателя командной строки /config. Результатом является то, что не обязательно быть администратором для использования IIS Express с Visual Studio.
Так как IIS использует файл applicationhost.config на компьютере, который стандартные пользователи не могут изменять, эти задачи в IIS могут выполняться только администраторами. (Так как службы IIS обычно используются на серверных компьютерах, это обычно не ограничение с точки зрения отдельного разработчика.)
Запуск и остановка сайтов
С помощью IIS Express стандартный пользователь может по своему усмотрению запускать и останавливать свой веб-сервер. Это можно сделать с помощью WebMatrix и Visual Studio 2010 бета-версии SP1, или с помощью исполняемого файла команды iisexpress.exe. Приложение для системной области Windows также позволяет пользователям просматривать и завершать работу экземпляров IIS Express.
С помощью IIS пользователи не могут запускать свой веб-сайт напрямую. Вместо этого служба активации рабочего процесса (WAS) отвечает за активацию веб-сайтов. Так как IS является системной службой, только администраторы могут запускать или останавливать ее.
Использование SSL
Для настройки доступа через уровень безопасных сокетов (SSL) требуются административные привилегии в IIS Express, как и в службах IIS. Однако программа установки IIS Express выполняет следующие задачи, позволяющие стандартным пользователям использовать SSL с IIS Express:
- Он автоматически создает и устанавливает самозаверяющий сертификат SSL-сервера в локальном хранилище компьютеров.
- Он настраивает HTTP.SYS для резервирования портов 44300 до 44399 для SSL. Входящие SSL-запросы, использующие localhost и один из портов в указанном диапазоне, автоматически связываются с самозаверяющим сертификатом.
(HTTP.SYS — это компонент операционной системы, который обрабатывает ПРОТОКОЛ SSL для IIS и IIS Express. Программа установки может настроить HTTP.SYS, так как программа установки выполняется под повышенными привилегиями.)
Следовательно, использование SSL для тестирования веб-сайта с помощью IIS Express так же просто, как добавление привязки, как показано ниже, в элемент сайта в applicationhost.config:
<binding protocol="https" bindingInformation="*:44300:localhost" />
Это работает только для локального трафика (запросов localhost) и для указанного диапазона портов. Для настройки пользовательского SSL-сертификата или запуска SSL с помощью порта за пределами указанного диапазона требуются права администратора.
Сводка
IIS Express позволяет пользователям, не являясь администраторами, выполнять следующие задачи:
- Запустите веб-сайт локально и используйте номер порта больше 1024.
- Добавление, удаление и изменение веб-сайтов, приложений и виртуальных каталогов.
- Запустите и остановите веб-сервер.
- Добавьте поддержку SSL для тестирования веб-сайта с помощью предварительно установленного самозаверяющего SSL-сертификата и порта от 44300 до 44399.
Для выполнения следующих задач требуются права администратора:
- Используйте зарезервированный порт, например 80 или 443.
- Обслуживать запросы внешнего трафика.
- Настройте пользовательский SSL-сертификат.
- Запустите SSL с помощью порта вне диапазона от 44300 до 44399.