Iis что это такое: Что такое IIS. IIS простыми словами

Содержание

IIS

IIS

Alexander Antipov

Microsoft Internet Information Services (IIS) — это управляемый веб-сервер для хостинга в Интернете. IIS в основном используется специалистами для разработки и тестирования веб-сайтов, а также мощных компонентов сервера.

IIS также предоставляет различные механизмы для защиты веб-сайтов и приложений от атак, таких как фильтрация запросов, ограничение доступа по IP-адресам, сертификаты SSL/TLS и многое другое.



Почему сетевые АТАКИ становятся все более агрессивными? Присоединяйтесь к нашему ТГ каналу и станьте кибер-рыцарем, оберегающим свою цифровую обитель. 


Уязвимые сервера Microsoft IIS стали инструментом шпионажа хакеров Lazarus Group

В ходе атак использовался устаревший плагин Notepad++ для доставки вредоносного ПО.

Bitdefender Labs сообщает о новом вредоносе BellaCiao, созданный иранской группой Charming Kitten

Иран создал совершенный и незаметный инструмент для атак на полмира.

Федеральное агентство США беспомощно перед хакерскими атаками уже несколько лет

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

ASP

Расширения IIS все чаще используются в качестве бэкдоров Exchange

Модули IIS устойчивы к обновлениям и позволяют незаметно проникнуть в систему

Microsoft Exchange подвергся атаке в рамках глобальной шпионской операции

Недавно обнаруженный бэкдор открывает полный доступ к IT-системе организации

Новый эксплойт IceApple заражает сервера Microsoft Exchange

Эксплойт создан опытным разработчиком и имеет хорошую защиту от обнаружения

Хакеры распространяют вредонос TVRAT через взломанные серверы Windows ISS

Хакеры устанавливают вредонос через поддельные уведомления об истекшем сроке действия сертификата.

Опубликован PoC-код для эксплуатации уязвимости в Windows IIS

Уязвимость позволяет отправить специально сформированный пакет и выполнить вредоносный код в ядре операционной системы.

Netcraft пересчитала сайты в Интернете

Мониторинговая компания Netcraft сегодня опубликовала отчет согласно которому к 1 июня в интернете работали 346 004 403 сайта.

Netcraft опубликовала отчет о количестве сайтов

Компания Netcraft опубликовала данные, согласно которым к январю 2011 года в интернете работали 273 301 445 сайтов.

Netcraft опубликовала отчет о количестве сайтов и блогов

По данным Netcraft, к 1 октября в сети работали 232 839 963 сайта.

Netcraft пересчитала сайты в интернете

Согласно данным, предоставленным компанией, к 1 сентября в сети работали 227 225 642 сайта.

Netcraft пересчитала сайты в интернете

Исследовательская компания Netcraft опубликовала августовский отчет о количестве работающих в интернете веб-сайтов и блогов.

Netcraft: В Сети работают 205,7 млн сайтов

Исследовательская компания Netcraft опубликовала июльский отчет о количестве веб-сайтов в интернете.

IIS Express — «маленький» веб-сервер от Microsoft

Корпорация Microsoft готовит новую версию своего программного веб-сервера Internet Information Services (IIS), которая будет предназначена для упрощенного создания и тестирования сайтов разработчиками

Netcraft опубликовала майский отчет о количестве веб-сайтов и блогов

По данным Netcraft, четыре из пяти наиболее популярных программных веб-серверов увеличили свои пользовательские базы. Исключением, причем уже второй месяц подряд, становится компания Google, которая по итогам апреля утратила 1,4 млн сайтов.

Netcraft пересчитала сайты в Интернете

По данным Netcraft, в марте в глобальной сети работало 206 675 938 сайтов.

Netcraft опубликовала данные о количестве сайтов в интернете по состоянию на 1 февраля 2010 года

В этом месяце база сайтов, обслуживаемых Nginx, сократилась еще на 1,5 млн сайтов.

Обнаружена опасная уязвимость в Microsoft IIS

Уязвимость может позволить злоумышленнику загрузить и выполнить вредоносный файл на системе.

Microsoft жертвует 100 000 долларов на развитие Apache

Накануне представители Microsoft сообщили, что софтверный гигант намерен пожертвовать фонду Apache еще 100 000 долларов.

Netcraft: Доля Apache снова растет

Исследовательская компания Netcraft, ведущая глобальный мониторинг интернет-пространства, сообщила, что по состоянию на 1 октября в сети насчитывалось 230 443 449 сайтов, большая часть которых работала под управлением открытого веб-сервера Apache.

Netcraft пересчитала сайты в интернете

По данным отчета исследовательской компании Netcraft, к 1 сентября в интернете работали 225 950 957 сайтов, что на 13,7 млн меньше, чем месяцем ранее.

Обнаружена опасная уязвимость в Microsoft IIS FTP сервере

Обнаруженная уязвимость может позволить злоумышленнику скомпрометировать целевую систему.

Netcraft: IIS сдает позиции

По данным Netcraft, больше всего на рынке веб-серверов в мае 2009 года потеряла Microsoft, доля компании сократилась сразу на 3,55%.

Netcraft: Доля Apache вновь растет

Исследовательская компания Netcraft опубликовала майский отчет о количестве сайтов в интернете и серверах, на базе которых они работают.

Подробности уязвимости в Microsoft IIS

Уязвимость в Microsoft IIS может позволить злоумышленнику получить доступ к некоторым данным на сервере.

Netcraft пересчитала сайты в интернете

По состоянию на 1 ноября в интернете работали 185 167 897 сайтов, включая блоги и персональные страницы пользователей. За месяц в сети появилось около 3 млн новых сайтов. Веб-сервер Apache стал лидером роста, набрав 1,3 млн новых сайтов.

Microsoft выпустила инструментарий защиты и обнаружения SQL-инъекций

Вышедший набор включает программу URLScan 3. 0, находящуюся на стадии бета-версии, а также Microsoft Source Code Analyzer for SQL Injection (MSCASI), доступную со статусом Community Technology Preview.

Netcraft: Доля Apache среди Web-серверов вновь растет

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

Популярность IIS уже совсем близка к Apache

По данным последнего исследования компании Netcraft, специализирующейся на интернет-мониторинге, Web-сервер корпорации Microsoft почти догнал Open Source-проект Apache по популярности.

Популярность Apache Web сервера за месяц снизилась на 6%

В апрельском отчете Netcraft зафиксировано небывалое в истории Web падение доли Apache (падение 5. 98%) и роста числа серверов под MS IIS 6 (рост 4.7%).

Подпишитесь на email рассылку

Подпишитесь на получение последних материалов по безопасности от SecurityLab.ru —
новости, статьи, обзоры уязвимостей и мнения аналитиков.

Ежедневный выпуск от SecurityLab.Ru

Еженедельный выпуск от SecurityLab.Ru

Нажимая на кнопку, я принимаю условия соглашения.

Как разместить приложение FastReport ASP .NET Core в IIS Windows Server 2012

Для размещения созданных приложений на интернет серверах вам понадобиться веб-сервер. Сегодня мы запустим свое веб-приложение на IIS (Internet Information Services). Он является веб-сервером, который позволяет размещать в Интернете сайты. Чаще используется для размещения веб-серверов под серверными ОС с ядром Windows.

Сперва создадим само приложение на ASP .NET Core с библиотекой FastReport. Web или же просто воспользуемся демонстрационным проектом FastReport.Core.Web21.MVC, из приложения FastReport .NET Trial который находится по пути:

"FastReports\FastReport.Net Trial\Demos\Core\FastReport.Core.Web21.MVC"

Открываем проект через Visual Studio, собираем его и запускаем, дабы удостовериться, что всё корректно работает:

Как можно заметить, проект корректно работает. Подготовим же его к публикации под iis! Запускаем “Обозреватель решений” и правой кнопкой мыши кликаем на проект, находим пункт “Опубликовать…”.

На данном этапе выбираем локальное хранилище «\bin\Release\Debug», после нажимаем опубликовать. Немного терпения и вуаля, проект готов к публикации на IIS.

Теперь переходим в сам Windows Server 2012. Путь примерно такой: Server Manager ->  Local Server -> Roles and Features -> Tasks -> Add Roles and Features.

Далее открывается окно, в котором мы нажимаем Next до Server Roles. Внимательно находим Web Server (IIS) и устанавливаем его.

Сейчас нам нужно установить dotnet hosting с официального сайта. Следуем пошаговой инструкции.

Шаг 1. Выбираем нужную версию .NET.
Шаг 2. Находим ASP.NET Core Runtime и нажимаем на Hosting Bundle. Скачали и установили — вроде ничего сложного.

Шаг 3. После установки заходим в консоль и перезапускаем IIS с помощью команды: 

"iisreset"

Поздравляю, теперь IIS полностью готов к работе с ASP .NET Core!

После всех этих манипуляций, переходим в директорию C:\inetpub\wwwroot на Windows Server 2012. Внутри создаем папку с любым названием. Допустим, это будет «coretest». А теперь добавляем файлы проекта в эту папку.

Открываем IIS Manager с помощью Server Manager, как показано на рисунке.

После открытия IIS Manager, вам нужно будет добавить новый веб-сайт. Правой кнопкой мыши кликаем по “Sites”, а после нажимаем на “Add Website”.

Должно появиться окно, где нужно будет указать имя, порт (при условии, что порт по умолчанию занят) и путь к проекту:

Всё, веб-сайт создан. Для его просмотра достаточно кликнуть правой кнопкой мыши по созданному веб-сайту, далее нажмите на Manage Website, а после на Browse.

После чего ваш проект откроется в браузере:

Подведем итог. Запускать свой проект под Windows Server 2012 не страшно и не сложно. При возникновении вопросов вы можете написать нам в поддержку.

О продукте
Купить

Marat Alaev

Поддержка и тестирование

Fast Reports Team: Marat Alaev — Quality Assurance at Fast Reports

.NET
Visual Studio
FastReport
ASP. NET
Core
Web API
Windows


Добавить комментарий

Введение в архитектуры IIS | Microsoft Learn

  • Статья

от команды IIS, Reagan Templin

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

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

Введение

Информационные службы Интернета (IIS) 7 и более поздние версии предоставляют архитектуру обработки запросов, которая включает:

  • Службу активации процессов Windows (WAS), которая позволяет сайтам использовать протоколы, отличные от HTTP и HTTPS.
  • Ядро веб-сервера, которое можно настроить, добавив или удалив модули.
  • Интегрированные конвейеры обработки запросов от IIS и ASP.NET.

Компоненты IIS

IIS содержит несколько компонентов, выполняющих важные функции для приложений и ролей веб-сервера в Windows Server® 2008 (IIS 7.0) и Windows Server 2008 R2 (IIS 7.5). У каждого компонента есть обязанности, такие как прослушивание запросов к серверу, управление процессами и чтение файлов конфигурации. Эти компоненты включают прослушиватели протоколов, такие как HTTP. sys, и службы, такие как служба публикации в Интернете (служба WWW) и служба активации процессов Windows (WAS).

Прослушиватели протоколов

Прослушиватели протоколов получают запросы, относящиеся к конкретному протоколу, отправляют их в IIS для обработки, а затем возвращают ответы запрашивающим сторонам. Например, когда клиентский браузер запрашивает веб-страницу из Интернета, прослушиватель HTTP, HTTP.sys, принимает запрос и отправляет его в IIS для обработки. Как только IIS обрабатывает запрос, HTTP.sys возвращает ответ браузеру клиента.

По умолчанию IIS предоставляет HTTP.sys в качестве прослушивателя протокола, который прослушивает запросы HTTP и HTTPS. HTTP.sys был представлен в IIS 6.0 как прослушиватель HTTP-протоколов для HTTP-запросов. HTTP.sys остается прослушивателем HTTP в IIS 7 и более поздних версиях, но включает поддержку Secure Sockets Layer (SSL).

Для поддержки служб и приложений, использующих протоколы, отличные от HTTP и HTTPS, можно использовать такие технологии, как Windows Communication Foundation (WCF). В WCF есть адаптеры прослушивателя, которые обеспечивают функциональность как прослушивателя протокола, так и адаптера прослушивателя. Адаптеры прослушивателя рассматриваются далее в этом документе. Дополнительные сведения о WCF см. в статье Windows Communication Foundation на сайте MSDN.

Стек протокола передачи гипертекста (HTTP.sys)

Прослушиватель HTTP является частью сетевой подсистемы операционных систем Windows и реализован в виде драйвера устройства в режиме ядра, называемого стеком HTTP (HTTP.sys). HTTP.sys прослушивает HTTP-запросы из сети, передает запросы в IIS для обработки, а затем возвращает обработанные ответы клиентским браузерам.

В IIS 6.0 HTTP.sys заменил Windows Sockets API (Winsock), который был компонентом пользовательского режима, используемым предыдущими версиями IIS для получения HTTP-запросов и отправки HTTP-ответов. IIS 7 и более поздние версии продолжают полагаться на HTTP.sys для HTTP-запросов.

HTTP.sys предоставляет следующие преимущества:

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

Служба публикации в Интернете (служба WWW)

В IIS 7 и более поздних версиях функции, которые ранее выполнялись только службой публикации в Интернете (служба WWW), теперь разделены между двумя службами: службой WWW и новой службой, Служба активации процессов Windows (WAS). Эти две службы работают как LocalSystem в одном и том же процессе Svchost.exe и совместно используют одни и те же двоичные файлы.

Примечание

Вы также можете встретить в документации WWW-сервис, именуемый W3SVC.

Как служба WWW работает в IIS 6.0

В IIS 6.0 служба WWW управляет следующими основными областями IIS:

  • Администрирование и настройка HTTP
  • Управление процессами
  • Мониторинг производительности
Администрирование и настройка HTTP

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

Мониторинг производительности

Служба WWW отслеживает производительность и предоставляет счетчики производительности для веб-сайтов и кэша IIS.

Управление процессами

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

Как служба WWW работает в IIS

В IIS служба WWW больше не управляет рабочими процессами. Вместо этого служба WWW является адаптером прослушивателя для прослушивателя HTTP, HTTP.sys. В качестве адаптера прослушивателя WWW-служба в первую очередь отвечает за настройку HTTP.sys, обновление HTTP.sys при изменении конфигурации и уведомление WAS о поступлении запроса в очередь запросов.

Кроме того, служба WWW продолжает собирать счетчики для веб-сайтов. Поскольку счетчики производительности остаются частью службы WWW, они зависят от HTTP и не применяются к WAS.

Служба активации процессов Windows (WAS)

В IIS 7 и более поздних версиях служба активации процессов Windows (WAS) управляет конфигурацией пула приложений и рабочими процессами вместо службы WWW. Это позволяет использовать одну и ту же модель конфигурации и процесса для HTTP- и не-HTTP-сайтов.

Кроме того, вы можете запустить WAS без службы WWW, если вам не нужны функции HTTP. Например, вы можете управлять веб-службой с помощью адаптера прослушивателя WCF, такого как NetTcpActivator, без запуска службы WWW, если вам не нужно прослушивать HTTP-запросы в HTTP. sys. Сведения об адаптерах прослушивателя WCF и о том, как размещать приложения WCF в IIS 7 и более поздних версиях с помощью WAS, см. в разделе Размещение в WCF на сайте MSDN.

Управление конфигурацией в WAS

При запуске WAS считывает определенную информацию из файла ApplicationHost.config и передает эту информацию адаптерам прослушивателя на сервере. Адаптеры прослушивателя — это компоненты, которые устанавливают связь между WAS и прослушивателями протоколов, такими как HTTP.sys. Как только адаптеры прослушивателей получают информацию о конфигурации, они настраивают соответствующие прослушиватели протоколов и подготавливают их к прослушиванию запросов.

В случае WCF адаптер прослушивателя включает в себя функции прослушивателя протокола. Таким образом, адаптер прослушивателя WCF, такой как NetTcpActivator, настраивается на основе информации из WAS. Когда NetTcpActivator настроен, он прослушивает запросы, использующие протокол net.tcp. Дополнительные сведения об адаптерах прослушивателя WCF см. в разделе Архитектура активации WAS в MSDN.

В следующем списке описаны типы информации, которую WAS считывает из конфигурации:

  • Глобальная информация о конфигурации
  • Информация о конфигурации протокола для протоколов HTTP и не-HTTP
  • Конфигурация пула приложений, например информация об учетной записи процесса
  • Конфигурация сайта, например привязки и приложения
  • Конфигурация приложения, например включенные протоколы и пулы приложений, к которым относятся приложения

Если ApplicationHost.config изменяется, WAS получает уведомление и обновляет адаптеры прослушивателя новой информацией.

Управление процессами

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

Примечание

Поскольку WAS управляет процессами как для протоколов HTTP, так и для протоколов, отличных от HTTP, вы можете запускать приложения с разными протоколами в одном и том же пуле приложений. Например, вы можете разработать приложение, такое как служба XML, и разместить его как через HTTP, так и через net.tcp.

Модули в IIS

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

Модули — это отдельные функции, которые сервер использует для обработки запросов. Например, IIS использует модули проверки подлинности для проверки учетных данных клиента и модули кэширования для управления активностью кэширования.

Новая архитектура предоставляет следующие преимущества по сравнению с предыдущими версиями IIS:

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

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

Собственные модули

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

Модули HTTP

Несколько модулей в IIS 7 и более поздних версиях выполняют задачи, специфичные для протокола передачи гипертекста (HTTP) в конвейере обработки запросов. Модули HTTP включают модули для ответа на информацию и запросы, отправленные в заголовках клиента, для возврата ошибок HTTP, для перенаправления запросов и т. д.

Имя модуля Описание Ресурс
Кустомерсормодуле Отправляет стандартные и настроенные сообщения об ошибках HTTP, когда в ответе установлен код состояния ошибки. Inetsrv\Custerr.dll
HttpRedirectionModule Поддерживает настраиваемое перенаправление для HTTP-запросов. Inetsrv\Redirect.dll
модуль поддержки протокола Выполняет действия, связанные с протоколом, такие как установка заголовков ответа и перенаправление заголовков на основе конфигурации. Inetsrv\Protsup. dll
Запросфильтрингмодуле Добавлено в IIS 7.5. Фильтрует запросы в соответствии с настройками для управления протоколом и поведением содержимого. Inetsrv\modrqflt.dll
WebDAVModule Добавлено в IIS 7.5. Обеспечивает более безопасную публикацию контента с использованием HTTP через SSL. Inetsrv\WebDAV.dll

Модули безопасности

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

Имя модуля Описание Ресурс
AnonymousAuthenticationModule Выполняет анонимную аутентификацию, когда ни один другой метод аутентификации не удается. Inetsrv\Authanon.dll
Модуль базовой аутентификации Выполняет обычную аутентификацию. Inetsrv\Authbas.dll
CertificateMappingAuthenticationModule Выполняет аутентификацию сопоставления сертификатов с использованием Active Directory. Inetsrv\Authcert.dll
DigestAuthenticationModule Выполняет дайджест-аутентификацию. Inetsrv\Authmd5.dll
IISCertificateMappingAuthenticationModule Выполняет проверку подлинности с сопоставлением сертификатов с использованием конфигурации сертификата IIS. Inetsrv\Authmap.dll
Запросфильтрингмодуле Выполняет задачи URLScan, такие как настройка разрешенных глаголов и расширений имен файлов, установка ограничений и сканирование на наличие неверных последовательностей символов. Inetsrv\Modrqflt.dll
UrlAuthorizationModule Выполняет авторизацию URL. Inetsrv\Urlauthz.dll
WindowsAuthenticationModule Выполняет встроенную проверку подлинности NTLM. Inetsrv\Authsspi.dll
IPRestrictionModule Ограничивает IPv4-адреса, указанные в списке ipSecurity в конфигурации. Inetsrv\iprestr.dll

Модули содержимого

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

Имя модуля Описание Ресурс
CgiModule Выполняет процессы Common Gateway Interface (CGI) для формирования выходных данных ответа. Inetsrv\Cgi.dll
DefaultDocumentModule Попытки вернуть документ по умолчанию для запросов к родительскому каталогу. Inetsrv\Defdoc.dll
DirectoryListingModule Выводит содержимое каталога. Inetsrv\dirlist.dll
Исапимодуль Содержит библиотеки DLL расширения ISAPI. Inetsrv\Isapi.dll
IsapiFilterModule Поддерживает библиотеки DLL фильтров ISAPI. Inetsrv\Filter.dll
Серверсидеинклудмодуле Процессы на стороне сервера включают код. Inetsrv\Iis_ssi.dll
Статикфилемодуле Обслуживает статические файлы. Inetsrv\Static.dll
ФастКгиМодуле Поддерживает FastCGI, который представляет собой высокопроизводительную альтернативу CGI. Inetsrv\iisfcgi.dll

Модули сжатия

Два модуля в IIS выполняют сжатие в конвейере обработки запросов.

Имя модуля Описание Ресурс
Модуль динамического сжатия Сжимает ответы и применяет кодирование передачи со сжатием Gzip к ответам. Inetsrv\Compdyn.dll
Статиккомпрессионмодуль Выполняет предварительное сжатие статического содержимого. Inetsrv\Compstat.dll

Модули кэширования

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

Имя модуля Описание Ресурс
FileCacheModule Обеспечивает кэширование файлов и файловых дескрипторов в пользовательском режиме. Inetsrv\Cachfile.dll
HTTPCacheModule Обеспечивает кэширование режима ядра и пользовательского режима в HTTP.sys. Inetsrv\Cachhttp. dll
Токенкачемодуле Обеспечивает кэширование в пользовательском режиме пар имени пользователя и токена для модулей, создающих участников-пользователей Windows. Inetsrv\Cachtokn.dll
Урикачемодуле Обеспечивает кэширование информации URL в пользовательском режиме. Inetsrv\Cachuri.dll

Модули ведения журнала и диагностики

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

Имя модуля Описание Ресурс
Кастомлоггингмодуле Загружает пользовательские модули ведения журнала. Inetsrv\Logcust.dll
Фаиледреквестстрекингмодуле Поддерживает функцию отслеживания неудачных запросов. Inetsrv\Iisfreb.dll
HttpLoggingModule Передает информацию и состояние обработки в HTTP.sys для ведения журнала. Inetsrv\Loghttp.dll
Рекуестмонитормодуле Отслеживает запросы, выполняемые в настоящее время в рабочих процессах, и сообщает информацию с помощью интерфейса Runtime Status and Control Application Programming Interface (RSCA). Inetsrv\Iisreqs.dll
Модуль трассировки Сообщает о событиях в Microsoft Event Tracing for Windows (ETW). Inetsrv\Iisetw.dll

Модули управляемой поддержки

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

Имя модуля Описание Ресурс
Управляемый двигатель Обеспечивает интеграцию модулей управляемого кода в конвейер обработки запросов IIS. Microsoft.NET\Framework\v2.0.50727\webengine.dll
ConfigurationValidationModule Проверяет проблемы с конфигурацией, например, когда приложение работает в интегрированном режиме, но имеет обработчики или модули, объявленные в разделе system.web. Inetsrv\validcfg.dll

Управляемые модули

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

Примечание

Управляемые модули зависят от модуля ManagedEngine.

В следующей таблице перечислены управляемые модули, доступные при полной установке IIS 7 и более поздних версий. Дополнительные сведения об управляемых модулях см. в пакете SDK 2.0 для .NET Framework на сайте MSDN.

Имя модуля Описание Ресурс
Анонимная идентификация Управляет анонимными идентификаторами, которые используются функциями, поддерживающими анонимную идентификацию, такими как профиль ASP. NET. System.Web.Security.AnonymousIdentificationModule
Аутентификация по умолчанию Обеспечивает присутствие в контексте объекта проверки подлинности. System.Web.Security.DefaultAuthenticationModule
Авторизация файла Проверяет наличие у пользователя разрешения на доступ к запрошенному файлу. System.Web.Security.FileAuthorizationModule
Проверка подлинности форм Поддерживает проверку подлинности с использованием проверки подлинности с помощью форм. System.Web.Security.FormsAuthenticationModule
Выходной кэш Поддерживает кэширование вывода. System.Web.Caching.OutputCacheModule
Профиль Управляет профилями пользователей с помощью профиля ASP.NET, который сохраняет и извлекает пользовательские настройки в источнике данных, таком как база данных. System. Web.Profile.ProfileModule
Менеджер ролей Управляет экземпляром RolePrincipal для текущего пользователя. System.Web.Security.RoleManagerModule
Сеанс Поддерживает сохранение состояния сеанса, что позволяет хранить данные, относящиеся к одному клиенту, в приложении на сервере. System.Web.SessionState.SessionStateModule
URL-адрес авторизации Определяет, разрешен ли текущему пользователю доступ к запрошенному URL-адресу, на основе имени пользователя или списка ролей, членом которых является пользователь. System.Web.Security.UrlAuthorizationModule
UrlMappingsModule Поддерживает сопоставление реального URL-адреса с более удобным URL-адресом. System.Web.UrlMappingsModule
Аутентификация Windows Задает удостоверение пользователя для приложения ASP.NET, когда включена проверка подлинности Windows. System.Web.Security.WindowsAuthenticationModule

Обработка запросов в IIS

В IIS конвейеры запросов IIS и ASP.NET объединяются для обработки запросов с использованием комплексного подхода. Новая архитектура обработки запросов состоит из упорядоченного списка собственных и управляемых модулей, которые выполняют определенные задачи в ответ на запросы.

Этот дизайн имеет несколько преимуществ по сравнению с предыдущими версиями IIS. Во-первых, все типы файлов могут использовать функции, которые изначально были доступны только для управляемого кода. Например, теперь вы можете использовать проверку подлинности форм ASP.NET и авторизацию универсального указателя ресурсов (URL) для статических файлов, файлов Active Server Pages (ASP) и всех других типов файлов на ваших сайтах и ​​в приложениях.

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

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

Пулы приложений в IIS

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

Примечание

В IIS 6.0 режим изоляции рабочего процесса и режим изоляции IIS 5.0 задаются на уровне сервера. Это делает невозможным запуск обоих режимов изоляции на одном сервере. Однако в IIS 7 и более поздних версиях интегрированный режим и классический режим задаются на уровне пула приложений, что позволяет одновременно запускать приложения в пулах приложений с разными режимами процессов на одном сервере.

Режим интегрированного пула приложений

Когда пул приложений находится в интегрированном режиме, вы можете использовать интегрированную архитектуру обработки запросов IIS и ASP.NET. Когда рабочий процесс в пуле приложений получает запрос, этот запрос проходит через упорядоченный список событий. Каждое событие вызывает необходимые собственные и управляемые модули для обработки частей запроса и создания ответа.

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

Классический режим пула приложений

Когда пул приложений находится в классическом режиме, IIS 7 и более поздние версии обрабатывают запросы так же, как и в режиме изоляции рабочего процесса IIS 6.0. Запросы ASP.NET сначала проходят собственные этапы обработки в IIS, а затем направляются в Aspnet_isapi.dll для обработки управляемого кода в управляемой среде выполнения. Наконец, запрос направляется обратно через IIS для отправки ответа.

Такое разделение моделей обработки запросов IIS и ASP.NET приводит к дублированию некоторых этапов обработки, таких как проверка подлинности и авторизация. Кроме того, функции управляемого кода, такие как проверка подлинности с помощью форм, доступны только для приложений ASP.NET или приложений, для которых вы сопоставили скриптом все запросы для обработки с помощью aspnet_isapi.dll.

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

Обработка HTTP-запросов в IIS

В IIS 7 и более поздних версиях процесс обработки HTTP-запросов аналогичен IIS 6.0. На схемах в этом разделе представлен обзор обрабатываемого HTTP-запроса.

В следующем списке описан процесс обработки запроса, показанный на рис. 1:

  1. Когда клиентский браузер инициирует HTTP-запрос к ресурсу на веб-сервере, HTTP.sys перехватывает запрос.
  2. HTTP.sys связывается с WAS для получения информации из хранилища конфигурации.
  3. WAS запрашивает информацию о конфигурации из хранилища конфигурации, applicationHost.config.
  4. Служба WWW получает информацию о конфигурации, такую ​​как конфигурация пула приложений и сайта.
  5. Служба WWW использует информацию о конфигурации для настройки HTTP.sys.
  6. WAS запускает рабочий процесс для пула приложений, к которому был сделан запрос.
  7. Рабочий процесс обрабатывает запрос и возвращает ответ HTTP.sys.
  8. Клиент получает ответ.

Рис. 1. Обзор HTTP-запроса

В рабочем процессе HTTP-запрос проходит через несколько упорядоченных шагов, называемых событиями, в ядре веб-сервера. При каждом событии собственный модуль обрабатывает часть запроса, например аутентификацию пользователя или добавление информации в журнал событий. Если для запроса требуется управляемый модуль, собственный модуль ManagedEngine создает AppDomain, где управляемый модуль может выполнять необходимую обработку, например аутентификацию пользователя с помощью аутентификации с помощью форм. Когда запрос проходит через все события ядра веб-сервера, ответ возвращается в HTTP.sys. На рис. 2 ниже показан HTTP-запрос, поступающий в рабочий процесс.

Рисунок 2: Подробная информация о HTTP-запросе внутри рабочего процесса

Что такое информационные службы Интернета (IIS)?

При просмотре веб-сайтов или ваших любимых приложений страницы, которые вы видите на своем экране, отображаются с веб-сервера. Веб-сервер размещает файлы и ресурсы (например, видео, графику, текст и код, особенно HTML) и отображает их в вашем браузере как веб-страницу или на вашем устройстве как приложение. Веб-серверы обычно работают в операционных системах Windows или Linux и размещаются в центре обработки данных. Однако в этой статье основное внимание уделяется службам IIS (Internet Information Services), специфичному для Windows веб-серверу, работающему на рабочем столе или размещенному на сервере Windows.

Что такое IIS и для чего он нужен?

Выпущенные 20 мая 1995 г. корпорацией Microsoft информационные службы Интернета (IIS) представляют собой веб-сервер, на котором размещены веб-страницы, обычно отображаемые в HTML, ASP или PHP, и специфичные для ОС Windows или Windows Server. Если вы используете Windows 10 или 11 на своем устройстве, возможно, у вас уже есть доступ к IIS, точно так же, как запуск Windows Server на выделенной или виртуальной машине. Но чтобы использовать IIS, вам необходимо установить его, а затем настроить в соответствии с вашими конкретными потребностями.

На сегодняшний день IIS 10 является текущей версией. Предыдущие версии, такие как IIS 7, 8 и 8.5, доступны для загрузки и предлагают различные функции. IIS версии 6 и более ранние могут быть не лучшим вариантом, поскольку его функции устарели и ограничены по сравнению с сегодняшними требованиями к безопасности и производительности для размещения и масштабирования веб-сайтов и приложений. Рекомендуется использовать последнюю версию, если вы хотите повысить безопасность и производительность.

Также доступна для загрузки IIS 10 Express, автономная версия IIS 10, специально разработанная для разработчиков. IIS 10 Express содержит все компоненты для запуска IIS в виде отдельного пакета. Если вы хотите быстро протестировать свои веб-сайты и приложения, IIS 10 Express — хороший вариант, поскольку установка и настройка проще. По сути, IIS 10 Express представляет собой облегченную версию полной версии IIS и содержит все необходимое для тестирования веб-сайтов и приложений в реальной среде без необходимости устанавливать и настраивать среду IIS.

Как установить IIS на ваш сервер

Чтобы использовать IIS, вам необходимо установить его, а затем настроить в зависимости от того, что вы хотите сделать с веб-сервером. Способ установки IIS зависит от версии ОС Windows или Windows Server. Если вы размещаете веб-сайты и приложения, вам следует включить IIS в одной из последних версий Windows Server. Например, вы можете настроить свое устройство для запуска IIS для разработки и тестирования в Windows 10 или 11 перед публикацией на вашем Windows Server.

Эта статья посвящена IIS 10.

Установка IIS 10 в Windows 10

Чтобы установить IIS 10 в Windows 10, выполните следующие действия.

1.     Введите Панель управления в строке поиска Windows (в нижней части экрана), затем щелкните приложение Панель управления , чтобы открыть его.

2.     Нажмите Программы и компоненты .

3.     Нажмите Включение или отключение функций Windows .

4.     Щелкните значок плюса (+) рядом с Internet Information Services, чтобы развернуть компоненты Internet Information Services.

5.     Установите флажок рядом с каждым компонентом, который вы хотите установить.

6.     Нажмите OK . Это действие включает IIS 10 и выбранные вами компоненты.

7.     После завершения установки откройте Диспетчер IIS, выполнив поиск в строке поиска Windows.

Установка IIS 10 в Windows 11

Чтобы установить IIS 10 в Windows 11, выполните следующие действия.

1.     Нажмите на строку поиска Windows (внизу экрана), затем введите показывает в поиске.

2.     Нажмите Включение или отключение компонентов Windows , затем нажмите Открыть .

3.     Щелкните значок плюса (+) рядом с Internet Information Services, чтобы развернуть компоненты Internet Information Services.

4.     Установите флажок рядом с каждым компонентом, который вы хотите установить.

5.     Нажмите OK . Это действие включает IIS 10 и выбранные вами компоненты.

6.     После завершения установки откройте Диспетчер IIS, выполнив поиск в строке поиска Windows.

Установка IIS 10 на Windows Server 2019 и 2022

Лучшим способом установки IIS 10 на Windows Server версий 2019 и 2022 является диспетчер сервера, который позволяет устанавливать или удалять роли сервера, службы ролей и функции. . Он также позволяет установить IIS и необходимые компоненты IIS на Windows Server версий 2019 и 2022.

1.     Откройте Диспетчер серверов, затем нажмите Управление/добавление ролей и компонентов на панели управления диспетчера серверов.

2.     Щелкните Тип установки .

3.     Выберите Установка на основе ролей или компонентов , затем нажмите Далее .

4.     Выберите сервер, на который вы хотите установить IIS, и нажмите Далее . Обратите внимание, что по умолчанию он выбирает локальный сервер.

5.     Активируйте роль веб-сервера (IIS).

6.     Нажмите Добавить компоненты , чтобы добавить консоль управления IIS, затем нажмите Далее .

7.     Когда откроется окно «Выбрать компоненты», нажмите Далее .

8.     Когда откроется окно роли веб-сервера (IIS), нажмите Далее .

9.     Когда откроется окно Службы ролей, выберите необходимые службы ролей, затем нажмите Далее .

10. Нажмите Установить , чтобы установить выбранные роли, службы ролей и компоненты.

11. После завершения установки нажмите Закрыть .

Вы также можете использовать PowerShell для установки IIS 10 на Windows Server 2019и 2022, выполнив следующие действия:

1.     Введите PowerShell в строке поиска Windows Server, затем нажмите Windows PowerShell .

2.     Введите следующую команду в Windows PowerShell, затем нажмите Введите .

 Install-WindowsFeature -name Web-Server -IncludeManagementTools 

Преимущества использования IIS

Для размещения веб-сайтов, приложений и служб в среде Windows необходимо установить IIS и активировать определенные компоненты IIS. Поскольку IIS специально разработан для работы в среде Windows, производительность, надежность, безопасность и масштабируемость значительно выше, чем при работе других веб-серверов в Windows. Это особенно верно, если ваши веб-сайты и приложения созданы с использованием ASP или ASP.NET, поскольку эти языки уже интегрированы в Windows.

Ниже приведен список дополнительных преимуществ, которые вы можете получить при использовании IIS:

  • Развертывание приложений ASP. NET и PHP на одном сервере.
  • Улучшенная защита сервера (Безопасность).
  • Масштабируемость с балансировкой нагрузки на основе HTTP и интеллектуальной маршрутизацией запросов.
  • Улучшена производительность благодаря динамическому кэшированию и сжатию.
  • Добавьте новые функции с официальными расширениями Microsoft IIS.
  • Развертывание и управление веб-сайтами и приложениями на больших фермах веб-серверов.

Как настроить IIS для вашего веб-сайта

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

Microsoft предлагает несколько методов настройки в зависимости от того, как вы хотите использовать IIS. Ниже приведены примеры использования IIS версии 7.0 и выше.

  • Создание статического веб-сайта.
  • Создание классического веб-сайта ASP.
  • Создание веб-сайта ASP.NET.
  • Создать веб-сайт PHP.
  • Создание FTP-сайта.
  • Создание веб-фермы с серверами IIS.

Советы по устранению ошибок IIS

При устранении неполадок IIS необходимо перезапустить веб-сервер, поскольку иногда он может устранить ошибки, вызванные повреждением или другими проблемами. Если это не сработает, Microsoft рекомендует просмотреть журналы ошибок, включая журнал событий Windows и файлы журналов IIS. Например, IIS обеспечивает собственное ведение журнала в текстовом файле для проблем установки. Если вы используете IIS версии 7. 0, файл журнала называется iis7.log ( iis6.log для предыдущей версии). Кроме того, вы можете найти и настроить расположение файлов журнала с помощью диспетчера IIS.

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

Заключение

Если вам нужен мощный веб-сервер, который может запускать один веб-сайт, несколько веб-сайтов и приложений, даже FTP-сайт, или размещать приложения HTML, ASP, ASP.NET или PHP, хотите обслуживать конечных пользователей, IIS — отличный выбор.