Microsoft iis что это

Содержание:

Internet Information Services
Тип проприетарное программное обеспечение и HTTP-сервер [d]
Разработчик Майкрософт
Написана на C++
Операционная система Windows NT
Читаемые форматы файлов Internet Data Query File [d] [1]
Сайт 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 % от общего числа веб-сайтов. [2]

Содержание

Версии 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:exampleindex.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.

Читайте также:  Thermaltake core v21 white

Определённый пользователь Windows сопоставляется с каждым посетителем сайта даже в том случае, когда ограничение доступа не требуется. Этот режим называется режимом анонимного доступа. В этом случае посетитель представляется на сервере как специальный пользователь, имя которого обычно имеет формат IUSR_xxxx (где xxxx — имя компьютера, на котором установлен IIS, в седьмой версии этот специальный пользователь не содержит имени компьютера, то есть просто IUSR ). Этому пользователю должен быть разрешён доступ к ресурсам, которые открыты анонимным посетителям.

Начиная с версии 6.0 служба WWW поддерживает следующие методы аутентификации, то есть определения личности пользователя по имени и паролю: [3]

  • Анонимная аутентификация (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) [4] — для аутентификации используется служба .NET Passport.
  • Аутентификация с использованием клиентского сертификата (certificate authentication) — для аутентификации пользователь должен предоставить SSL-сертификат.

Реализация веб-приложений для IIS [ править | править код ]

Веб-сервер IIS поддерживает несколько различных технологий создания веб-приложений:

  • ASP.NET — разработанная Microsoft технология; для IIS это — основное на сегодняшний день [5] средство создания веб-приложений и веб-служб. 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 [6] , 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 почтовые подсистемы.

Применимо к:Windows Server 2012 R2, Windows Server 2012

В этом документе описаны роли веб-сервера (IIS) для Windows Server® 2012 и новые компоненты Службы IIS 8, а также представлены ссылки на дополнительную информацию о серверах IIS от Майкрософт и сообщества.

Возможно, вы имели в виду.

Роль веб-сервера (IIS) в Windows Server 2012 обеспечивает безопасную, легко управляемую, модульную и расширяемую платформу для надежного размещения веб-узлов, служб и приложений. Использование веб-сервера Службы IIS 8 обеспечивает доступ к информации пользователям в Интернете, интрасети и экстрасети. Веб-сервер Службы IIS 8 — это унифицированная веб-платформа, которая совмещает IIS, ASP.NET, службы FTP, PHP и Windows Communication Foundation (WCF).

В следующем списке приведена только часть преимуществ, которые дает использование Службы IIS 8.

Читайте также:  Content disposition attachment filename кириллица

Максимизация уровня веб-безопасности благодаря сокращению объема сервера и автоматической изоляции приложений.

Простое развертывание и запуск веб-приложений ASP.NET, Classic ASP и PHP на одном сервере.

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

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

Повышение скорости работы веб-сайта с помощью встроенного динамического кэширования и расширенного сжатия.

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

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

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

Использование изоляции веб-сайтов для предотвращения влияния одного веб-сайта на вашем сервере на остальные.

Настройка веб-приложений, разработанных с использованием различных технологий, таких как Classic ASP, ASP.NET и PHP.

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

Объединение нескольких веб-серверов в ферму серверов, которой можно управлять с помощью IIS.

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

В следующей таблице приведены некоторые функции, впервые представленные в Службы IIS 8.

Компонент или функция

Новая или обновленная

Предоставляет единое хранилище сертификатов SSL для фермы серверов и упрощает управление привязками SSL.

Ограничения для динамических IP-адресов

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

Ограничение попыток входа на FTP

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

Индикатор имени сервера (SNI)

Расширяет протоколы SSL и TSL, чтобы разрешить использование виртуального имени домена или имени узла для определения конечной точки сети.

Позволяет веб-администраторам настраивать Службы IIS 8, чтобы инициализировать веб-приложение для подготовки его к первому запросу.

Масштабируемость с поддержкой NUMA

Предоставляет поддержку для оборудования NUMA с 32–128 ядрами процессора. Эта поддержка обеспечивает почти оптимальную производительность для оборудования NUMA.

Регулирование числа запросов IIS к ЦП

Ограничивает нагрузку на ЦП, потребление памяти и полосу пропускания с помощью одного пула приложений для нескольких развертываний. Службы IIS 8 включает дополнительные параметры регулирования нагрузки.

Не рекомендуется использовать оснастку Microsoft Management Console (MMC) "Диспетчер Internet Information Services (IIS) 6.0" в Windows Server 2012. В следующем выпуске Windows Server она будет удалена.

В следующей таблице представлены ссылки на ресурсы, связанные с этим сценарием.

О методике мы рассказывали в первой части статьи, в этой мы тестируем HTTPS, но в более реалистичных сценариях. Для тестирования был получен сертификат Let’s Encrypt, включено сжатие Brotli на 11.

На этот раз попробуем воспроизвести сценарий развертывания сервера на VDS или в качестве виртуальной машины на хосте с типовым процессором. Для этого устанавливали лимит в:

    25% — Что в пересчете на частоту

1350МГц

  • 35% -1890Мгц
  • 41% — 2214Мгц
  • 65% — 3510Мгц
  • Количество единовременных подключений сократилось с 500 до 1, 3, 5, 7 и 9,

    Новости

    Что нам стоит CDN построить?

    Привет Хабр! В этой статье мы будем строить свой CDN. Почему не воспользоваться готовыми решениями? Потому что сайт автора полностью статический, сделанный на Jekyll, с большими картинками, которые нужно отдавать максимально быстро. Сервер не должен быть кэширующим, он должен хранить сайт целиком, поддерживать HTTP/2 и Brotli, а на всех серверах должен быть установлен один и тот же сертификат.

    Ещё мы сделаем это всё на IIS, работающим под Windows Server 2019 Core.

    stus 8 ноября 2017 в 15:20

    Sharing общих сборок между процессами и доменами в IIS

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

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

    Как IIS поддерживает нашу BI-аналитику, и в чем особенности настройки под Highload

    В аналитической части бэкенда Яндекс.Денег активно используется Microsoft IIS, и уже накопился некоторый багаж знаний о его применении в высоконагруженной среде, которым хочется поделиться.

    Наша аналитика работает на стеке Microsoft (SQL Server и продукты SSIS, SSAS, SSRS) – одном из лучших на рынке BI-решений. Раз в основе нашего BI лежат сервисы одного вендора, то логично и для размещения веб-приложений использовать решение Microsoft – IIS.

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

    Рекомендуем

    Как создать объемное изображение на обычном принтере

    Фудтех по Agile: как Яндекс.Шеф готовит блюда

    Системная интеграция и визуальная конфигурация вместо «позвоните нам»

    RequestQueueLimitPerSession и его распространение на старые версии .net

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

    Читайте также:  Mhl hdmi как подключить

    Что может быть опасного в обновлении .net 4.6.1 до .net 4.6.2? Я считал что для процесса обновления минорной версией достаточно прочитать release notes, чтобы избежать серьезных проблем. Однако, как выяснилось, Microsoft может привнести очень интересные и занимательные изменения в обход release notes, которые смогут вас занять в «скучные летние вечера и выходные дни».

    Под катом будет описание одной проблемы возникшей из-за обновления и пути её решения, а так же немного исходников .net.

    IIS Request filtering против ddos-атаки

    Лежим

    Заказчик, чьи сайты я поддерживал ранее, обратился с тем, что сайт лежит и отдает 500 ошибку. У него стандартный сайт на ASP.NET WebForms, не скажу, что очень нагруженный, но бывали проблемы с производительностью базы данных (MS SQL Server на отдельном сервере). Недавно сервер БД поменяли и перенесли данные.

    Этот сайт не основной бизнес заказчика, поэтому практически не обслуживался. У него не настроено никакого мониторинга и сбора метрик и вообще за ним особо не следят.

    Данные телеметрии

    Какие аномалии бросились в глаза:

    1. Процесс w3wp использовал более 50% CPU (обычно сильно меньше).
    2. Количество потоков в этом процесс стабильно прирастало (сайт не успевал обслужить клиентов).
    3. Диск на сервере БД использовался на 100% (Active Time).
    4. Длина очереди обращений к диску с базами проекта была большой (обычно в районе нуля-единиц).
    5. Оперативная память на сервер БД использована полностью.
    6. Профайлер показал, что есть один горячий метод, который ходит в БД.

    Развёртывание Django 1.9 на IIS 7+

    Предисловие

    Не так давно ко мне обратились с просьбой о создании сайта. Интересный крупный проект с множеством "хочу вот это". Среди пожеланий были два главных, определивших web framework для написания, это интернационализация и панель администратора. Как уже понятно из заголовка статьи, таким framework’ом стала Django.

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

    И вот, можно сказать на днях, свершилось чудо — у нас появился сервер. И как следствие этого — эта статья.

    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    DmitryMe 8 июня 2016 в 00:04

    Исправлена серьезная ошибка в официальной документации по настройке SSL в web-ролях Microsoft Azure


    Хорошие новости TM : есть небольшое, но важное развитие сюжета из этого поста, где много букв и долгая история, которая могла отвлечь часть целевой аудитории от необходимости проверить и исправить настройки. После вливания освежающих пул-запросов была обновлена официальная документация, показывающая, как правильно настраивать SSL в веб-ролях Microsoft Azure — один и два. Исправлена серьезная ошибка в примерах настроек.

    Если вы разрабатываете или сопровождаете облачный сервис с веб-ролью, самое время проверить, что настройки SSL указаны правильно и вас не настигнет в самый неподходящий момент волна недовольства пользователей, у которых КРАЙНЕ НЕОЖИДАННО без ясных причин перестало устанавливаться защищенное соединение с вашим сервисом.

    Alcogolic 20 апреля 2016 в 01:20

    Вышел драйвер PDO MSSQL(pdo_sqlsrv) для PHP7

    Небольшая заметка для тех, кто по роду деятельности работает с базой MSSQL через PDO,
    теперь данная возможность появилась и в PHP7

    Что такое PDO и зачем стоит им пользоваться можно прочитать в этой статье:

    Скачать драйвер можно здесь:

    Установка сводится лишь к копированию соответствующей *.dll в папку PHPext и подключением в php.ini
    Это предварительная версия, но вполне рабочая, по крайней мере проблем за 2 дня использования замечено не было,
    работает отлично!

    Деплой ASP.NET приложений при помощи символических ссылок

    Всем привет.
    Все мы немного нервничаем при установке нового релиза на прод. Существует много различных технологий позволяющих нам облегчить этот процесс и сделать его чуть менее нервозным. Одна из таких технологий, которую уже довольно давно облюбовали UNIX-инженеры, это использование символических ссылок, позволяющая свести к минимуму время накатки релиза и откатки на предыдущий релиз если «что-то пошло не так»(с). Этот механизм так же присутствует и в Windows, однако почему-то активно не используется. А зря. Данная статья призвана поправить это недоразумение и сделать процесс накатки релиза более приятным.


    Кадр из х/ф «Джентльмены удачи»

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

    Ваш адрес email не будет опубликован. Обязательные поля помечены *

    Adblock detector