- Национальная библиотека им. Н. Э. Баумана Bauman National Library
- Персональные инструменты
- IIS (Internet Information Services)
- Содержание
- Архитектура
- Компоненты
- Ключевые особенности
- Установка
- Конфигурирование
- Internet Information Services
- Содержание
- Версии IIS
- Служба WWW в составе IIS
- Архитектура службы WWW
- Безопасность в службе WWW
- Реализация веб-приложений для IIS
- Почтовые возможности
Национальная библиотека им. Н. Э. Баумана
Bauman National Library
Персональные инструменты
IIS (Internet Information Services)
Разработчики: Microsoft Постоянный выпуск: 10 / 29 July 2015 года ; 5 years ago ( 2015-07-29 ) Состояние разработки: Active Написана на: C++ (язык программирования) [1] Операционная система: Windows NT Локализация: Same languages as Windows Тип ПО: Web server Лицензия: Part of Windows NT (same license) Веб-сайт iis .netIIS (англ. Internet Information Services ) является Visual Basic приложением, которое располагается на веб-сервере и отвечает на запросы браузера. Приложение IIS использует HTML для представления своего пользовательского интерфейса и использует скомпилированый код Visual Basic для обработки запросов и реагирования на события в браузере. Для пользователя приложение IIS представляется рядом страниц HTML. Для разработчика приложение IIS состоит из особого типа объекта, называемого WebClass, который в свою очередь, содержит ряд ресурсов, называемых webitems. WebClass выступает в качестве центрального функционального блока приложения, обрабатывающего данные из браузера и отправляющего информацию пользователям. Разработчик описывает ряд процедур, которые определяют, каким образом WebClass отвечает на эти запросы. webitems являются HTML-страницами и другими данными, которые WebClass может отправить в браузер в ответ на запрос.
Содержание
Архитектура
Internet Information Services (IIS) 7 и выше обеспечивает архитектуру обработки запросов, которая включает в себя:
- Служба активации процесса Windows (WAS), который позволяет сайтам использовать отличающиеся от HTTP и HTTPS протоколы.
- Веб-движок сервера, который может быть изменен путем добавления или удаления модулей.
- Интегрированные конвейеры обработки запросов от IIS и ASP.NET.
Компоненты
IIS содержит несколько компонентов, которые выполняют важные функции для приложений и ролей веб-сервера в Windows Server® 2008 (IIS 7.0) и Windows Server 2008 R2 (IIS 7.5). Каждый компонент имеет функции, такие как прослушивание запросов к серверу, управление процессами и чтение файлов конфигурации. Эти компоненты включают в себя обработчики протокола, такие как HTTP.sys и службы, такие как World Wide Web Publishing (служба WWW) и службы активации процесса Windows (WAS).
Internet Information Server (IIS) имеет свой собственный ASP.NET Process Engine для обработки запроса ASP.NET. Способ настройки приложения ASP.NET зависит от того, какая версия IIS приложения используется.
Internet Information Server (IIS) включает в себя набор программ для создания и администрирования веб-приложений, поисковых систем, а также поддержку для написания веб-приложений, обеспечивающих доступ к базам данных, таким как SQL Server. IIS позволяет настроить компьютер в качестве веб-сервера и предоставляет функциональные возможности для разработки и развертывания веб-приложений ASP.NET на сервере. Кроме того, возможно установить параметры безопасности для конкретного веб-сайта для конкретных пользователей и компьютера для того, чтобы защитить его от несанкционированного доступа.
По заявлениям разработчиков, IIS повышает доступность веб-сайтов и приложений при одновременном снижении системного администрирования и стоимости развертывания. IIS 7.5 поддерживает HTTP, HTTPS, FTP, FTPS, SMTP и NNTP.
Ключевые особенности
- Встроенные расширения
- WebDAV и FTP
- Фильтрация запросов
- Модули администрирования
- Усовершенствования управления
- Анализатор соответствия рекомендациям
- Windows PowerShell провайдер и cmdlets
- Ведение журнала конфигурации и трассировки
- Улучшения хостинга приложений
- Управляемые учетные записи служб
- Hostable веб-ядро
- Трассировка неудачных запросов для FastCGI
- Улучшения .NET поддержки для Server Core
Установка
- Нажмите кнопку Пуск и выберите Панель управления.
- На панели управления выберите Программы, а затем Включение и отключение компонентов Windows.
- В диалоговом окне «Компоненты Windows» нажмите Службы IIS, а затем кнопку ОК.
Конфигурирование
Настройка веб-узла по умолчанию: При установке IIS настроен для использования в качестве веб-узла по умолчанию; тем не менее может потребоваться изменить некоторые настройки. Чтобы изменить основные параметры для веб-узла и имитировать действия, которые требуются для настройки Apache в первый раз с помощью файла конфигурации:
- Войдите в систему на компьютере веб-сервера с правами администратора.
- Нажмите кнопку Пуск, выберите Настройка и щелкните Панель управления.
- Дважды щелкните значок Администрирование, а затем дважды щелкните значок Диспетчер служб Интернета.
- Щелкните правой кнопкой мыши веб-узел, который необходимо настроить, на левой панели и выберите команду Свойства.
- Перейдите на вкладку веб-узел .
- В поле Описание введите описание веб-узла.
- Введите адрес Internet Protocol (IP) для веб-узла или оставьте значение по умолчанию все (не назначено) .
- Измените порт протокола управления передачей (TCP), соответствующим образом.
- Перейдите на вкладку Домашний каталог.
- Чтобы использовать папку на локальном компьютере, выберите каталог на данном компьютере и нажмите кнопку Обзор, чтобы найти папку, которую требуется использовать.
- Чтобы использовать папку, общий ресурс с другого компьютера в сети, выберите параметр Общая папка другого компьютера и затем введите путь или нажмите кнопку Обзор, чтобы выбрать общую папку.
- Нажмите кнопку Чтение предоставить доступ на чтение к папке (обязательно).
- Нажмите кнопку ОК, чтобы принять свойства веб-сайта.
Создание нового веб-узла:
Чтобы создать новый веб-узел на сервере Apache, необходимо настроить виртуальный узел и настроить отдельные параметры для узла. Если используются службы IIS, можно создать новый веб-узел путем перевода следующих терминов в эквивалентные термины IIS:
Apache термин | Термин IIS |
---|---|
Корень документа | Каталог домашней страницы веб-узла IIS |
Имя_сервера | Заголовок узла IIS |
Прослушивание | IIS IP-адрес и TCP-порт |
Чтобы создать новый веб-узел в IIS, выполните следующие действия:
- Войдите в систему на компьютере веб-сервера с правами администратора.
- Нажмите кнопку Пуск, выберите Настройка и щелкните Панель управления.
- Дважды щелкните значок Администрирование, а затем дважды щелкните значок Диспетчер служб Интернета.
- Щелкните Действие, выберите пункт Создать и выберите веб-узел.
- После запуска мастера создания веб-узла, нажмите кнопку Далее.
- Введите описание веб-узла. Это описание используется для идентификации веб-узла в диспетчере служб Интернета только для внутренних целей.
- Выберите IP-адрес для веб-узла. Если выбрать все (без значения), веб-узел будет доступен для всех интерфейсов и всех настроенных IP-адресов.
- Введите номер порта TCP, чтобы опубликовать на нем сайт.
- Введите имя заголовка узла (реальные имя, которое используется для доступа к этому узлу).
- Нажмите кнопку Далее.
- Введите путь к папке, которая содержит документы веб-узла, или нажмите кнопку Обзор, выберите папку и нажмите кнопку Далее.
- Укажите права доступа для веб-узла и нажмите кнопку Далее.
- Нажмите кнопку Готово.
Internet Information Services
Internet Information Services | |
Тип | проприетарное программное обеспечение и HTTP-сервер [d] |
---|---|
Разработчик | Майкрософт |
Написана на | C++ |
Операционная система | Windows NT |
Сайт | iis.net (англ.) |
IIS (Internet Information Services, до версии 5.1 — Internet Information Server) — проприетарный набор серверов для нескольких служб Интернета от компании Microsoft. IIS распространяется с операционными системами семейства Windows NT.
Основным компонентом IIS является веб-сервер, который позволяет размещать в Интернете сайты. IIS поддерживает протоколы HTTP, HTTPS, FTP, POP3, SMTP, NNTP. По данным компании Netcraft на июнь 2015 года, почти 22 млн сайтов обслуживаются веб-сервером IIS, что составляет 12,32 % от общего числа веб-сайтов. [1]
Содержание
Версии IIS
Номер версии | Выпущена в составе | Год |
---|---|---|
1.0 | Windows NT 3.51 | 1995 |
2.0 | Windows NT 4.0 | 1996 |
3.0 | Пакет обновления 3 для Windows NT 4.0 | 1997 |
4.0 | Пакет Option Pack для Windows NT 4.0 | 1998 |
5.0 | Windows 2000 | 2000 |
5.1 | Windows XP Professional | 2001 |
6.0 | Windows Server 2003 | 2003 |
7.0 | Windows Vista; Windows Server 2008 | 2006 |
7.5 | Windows 7; Windows Server 2008 R2 | 2009 |
8.0 | Windows 8; Windows Server 2012 | 2012 |
8.5 | Windows 8.1; Windows Server 2012 R2 | 2013 |
10 | Windows 10; Windows Server 2016 | 2015 |
Служба WWW в составе IIS
Основным компонентом IIS является веб-сервер — служба WWW (называемая также W3SVC), которая предоставляет клиентам доступ к сайтам по протоколам HTTP и, если произведена настройка, HTTPS.
Один сервер IIS может обслуживать несколько сайтов (IIS 6.0 и выше). Каждый сайт имеет следующие атрибуты:
- IP-адрес сайта;
- TCP-порт, на котором служба WWW ожидает подключений к данному сайту;
- Заголовок узла (Host header name) — значение заголовкаHost запроса HTTP, указывающее обычно DNS-имя сайта.
Таким образом, например, один сервер с одним IP-адресом может обслуживать на одном TCP-порту несколько сайтов. Для этого необходимо создать несколько DNS-записей, указывающих на IP-адрес сервера, и различать сайты по заголовкам узла.
Для каждого сайта указывается домашний каталог — каталог в файловой системе сервера, соответствующий «корню» сайта. Например, если сайту www.example.com сопоставлен домашний каталог D:\example, то на запрос ресурса с адресом http://www.example.com/index.htm веб-сервер вернёт файл D:\example\index.htm.
Архитектура службы WWW
В IIS 6.0, доступном в составе систем Windows Server 2003, служба WWW претерпела серьёзные изменения. Был добавлен новый режим обработки запросов, называемый режимом изоляции рабочих процессов (англ. worker process isolation mode ). В этом режиме все веб-приложения, обслуживаемые сервером, работают в разных процессах, что повышает стабильность и безопасность системы. Кроме того, для приёма запросов HTTP был создан новый драйвер http.sys, который работает в режиме ядра, что ускоряет обработку каждого запроса.
Все запросы к статическому содержимому, не требующие исполнения скриптов, исполняются самим драйвером http.sys в ядре, что сближает веб-сервер IIS с серверами режима ядра.
При этом запросы к динамическому содержимому исполняются рабочим процессом и загруженными в его адресное пространство модулями. С точки зрения пути исполнения запросов не существует центрального процесса, что повышает надежность в случае отказа, вызванного ошибкой в скрипте или ином модуле исполнения. Рабочие процессы автоматически перезапускаются при возникновении ошибок.
Протокол SSL поддерживается отдельным процессом HTTP SSL, который служит мостом между протоколом TCP и драйвером http.sys.
Безопасность в службе WWW
Веб-сервер IIS предоставляет несколько способов разграничения доступа к сайтам и веб-приложениям. Служба WWW в составе IIS отличается от других веб-серверов тем, что функции обеспечения безопасности в ней тесно интегрированы с системой Windows NT, на основе которой она работает. В частности, чтобы получить доступ к защищённому ресурсу, посетитель должен ввести имя и пароль пользователя, существующего в системе Windows, на которой установлен IIS (или в домене Active Directory, если сервер принадлежит к домену). После этого пользователь работает с сайтом так же, как если бы он выполнил интерактивный вход в систему на сервере. К нему применяются установленные файловой системой NTFS разрешения на доступ к файлам и каталогам. Эта особенность IIS удобна для внутренних сайтов предприятий, однако практически неприменима для открытых сайтов Интернета, где невозможно создавать пользователя Windows для каждого зарегистрированного посетителя сайта. Поэтому в последнем случае разработчикам сайтов и веб-приложений обычно приходится использовать собственные механизмы ограничения доступа. Начиная с 8 версии, появилась возможность удаленного управления, с помощью power shell.
Определённый пользователь Windows сопоставляется с каждым посетителем сайта даже в том случае, когда ограничение доступа не требуется. Этот режим называется режимом анонимного доступа. В этом случае посетитель представляется на сервере как специальный пользователь, имя которого обычно имеет формат IUSR_xxxx (где xxxx — имя компьютера, на котором установлен IIS, в седьмой версии этот специальный пользователь не содержит имени компьютера, то есть просто IUSR). Этому пользователю должен быть разрешён доступ к ресурсам, которые открыты анонимным посетителям.
Начиная с версии 6.0 служба WWW поддерживает следующие методы аутентификации, то есть определения личности пользователя по имени и паролю: [2]
- Анонимная аутентификация (anonymous authentication) — определение личности пользователя не выполняется.
- Базовая аутентификация (basic authentication) — имя и пароль передаются по сети открытым текстом.
- Дайджест-аутентификация (digest authentication) — пароль обрабатывается хеш-функцией перед отправкой по сети, что делает невозможным его прочтение в случае перехвата злоумышленником.
- Встроенная аутентификация Windows (integrated Windows authentication) — выполняется попытка входа на сервер с теми же учётными данными, под которыми работает браузер пользователя.
- Аутентификация для доступа к UNC-ресурсам (UNC authentication) — имя и пароль передаются удаленному серверу, на котором находится опубликованный в IIS UNC-ресурс, и удаленный сервер выполняет аутентификацию.
- Аутентификация с использованием .NET Passport (.NET Passport Authentication) (удалена в Windows Server 2008 и IIS 7.0) [3] — для аутентификации используется служба .NET Passport.
- Аутентификация с использованием клиентского сертификата (certificate authentication) — для аутентификации пользователь должен предоставить SSL-сертификат.
Реализация веб-приложений для IIS
Веб-сервер IIS поддерживает несколько различных технологий создания веб-приложений:
- ASP.NET — разработанная Microsoft технология; для IIS это — основное на сегодняшний день [4] средство создания веб-приложений и веб-служб. IIS 6.0 поставляется вместе с операционными системами, в которые также изначально входит .NET Framework, так что поддержка ASP.NET как будто уже встроена в IIS 6.0; для более ранних версий необходимо отдельно загрузить и установить .NET Framework.
- ASP — предшествовавшая ASP.NET технология создания динамических веб-страниц на основе сценариев. Входит в поставку IIS начиная с версии 3.0.
- CGI — стандартная межплатформенная низкоуровневая технология создания динамических веб-страниц.
- FastCGI — клиент-серверный протокол взаимодействия веб-сервера и приложения.
- ISAPI — низкоуровневая технология, аналогичная интерфейсу модулей Apache, предоставляющая полный доступ ко всем возможностям IIS, возможность разработки веб-приложений в машинном коде и возможность переопределения части функций IIS и добавления к нему функций, как связанных с генерацией контента, так и не связанных с этим. Подсистема исполнения скриптов ASP и подсистема ASP.NET выполнены как модули ISAPI.
- SSI — включение в одни страницы текста из других страниц. Строго говоря, веб-приложением не является, поскольку IIS поддерживает лишь ограниченный набор возможностей и без того малофункционального SSI. В частности, IIS5 поддерживает только статическое включение и игнорирует команды условного ветвления.
Сам сервер поддерживает только CGI, FastCGI [5] , ISAPI и SSI. Все остальные технологии являются надстройками, работающими через CGI, FastCGI или ISAPI.
При помощи CGI приложения для IIS могут разрабатываться на основе практически любых, в том числе сторонних, инструментов, допускающих запись в стандартный поток вывода и чтение переменных среды — Perl, C/С++ и даже средствами интерпретатора командной строки Cmd.exe.
Технология ISAPI позволяет, с одной стороны, создавать специальные приложения для IIS, требующие особенно тесного взаимодействия с механизмом сервера, а с другой стороны, является удобной платформой для организации эффективного взаимодействия IIS с другими технологиями разработки веб-приложений — например, PHP и Perl.
Почтовые возможности
IIS поддерживает работу SMTP/POP3-сервисов. В современных версиях Microsoft Exchange Server реализация протоколов SMTP, POP3 и IMAP выполнена в виде подсистем к IIS, заменяющих поставляемые с IIS почтовые подсистемы.