Iis окно свойств internet information services


Содержание

Iis окно свойств «internet information services»

Для общего понимания системы безопасности IIS нужно понимать, что такое полномочия, как их конфигурировать и применять. В данном разделе рассмотрены разные уровни безопасности для управления доступом к содержимому web-узлов и FTP-сайтов в Windows Server 2003, а также изучается порядок их применения. Вы также научитесь быстро и легко защищать свои Web- и FTP-узлы при помощи Мастера разрешений IIS 6.0.

Понятие об организации безопасности в IIS.

У администраторов есть четыре способа для контроля доступа к содержимому web-узлов и FTP-узлов, хостинг которых осуществляется при помощи IIS. Эти механизмы применяются по порядку всякий раз при попытках пользователей получить доступ к имеющемуся на сервере Web- и FTP-ресурсу (файлу HTTP или другому файлу). Эта четырехступенчатая модель контроля доступа описана ниже, причем пользователь получает доступ к запрошенным ресурсам только после выполнения всех правил:

  • Разрешается ли доступ к ресурсу для IP-адреса или доменного имени, используемого пользователем? Если нет, то попытки доступа встречают отказ, и остальные правила не применяются. Ограничения на IP-адрес и доменное имя можно настраивать при помощи вкладки Безопасность каталога окна свойств web-узла, FTP-узла или виртуального или физического каталога, или (для файлов) при помощи вкладки Безопасность окна свойств файла. Заметьте, что окно свойств, о котором идет речь здесь и в следующих двух пунктах, применяется при доступе к объектам из окна консоли Internet Information Services.
  • Аутентифицирован ли пользователь? Если нет, то в доступе будет отказано, и остальные правила применяться не будут. Настройки безопасности для аутентификации можно конфигурировать при помощи вкладки Безопасность каталога окна свойств web-узла, виртуального или физического каталога, при помощи вкладки Безопасность окна свойств файла, при помощи вкладки Безопасные учетные записи окна свойств FTP-узла. Обратите внимание, что вы не сможете настроить этот уровень безопасности для виртуальных каталогов внутри FTP-узлов (его можно настраивать только для виртуальных каталогов внутри web-узлов).
  • Настроены ли разрешения IIS для доступа и для приложений так, чтобы пользователи могли иметь доступ к ресурсам? Если нет, то в доступе будет отказано, и остальные правила применяться не будут. Разрешения IIS для доступа и для приложений можно настраивать: при помощи вкладки Домашний каталог окна свойств web-узла или FTP-узла;
    — при помощи вкладки Виртуальный каталог окна свойств виртуального каталога;
    — при помощи вкладки Каталог окна свойств физического каталога;
    — при помощи вкладки Файл окна свойств файла.
  • Позволяют ли разрешения NTFS, относящиеся к ресурсу, доступ пользователей к ресурсу? Если нет, то в доступе будет отказано. Разрешения NTFS настраиваются как обычно, при помощи вкладки Безопасность окна свойств ресурса в Мой Компьютер.

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

Остановка, запуск и приостановка службы IIS.

Не забывайте, что отдельные Web- и FTP-узлы, созданные при помощи IIS, на самом деле являются виртуальными серверами. Это значит, что они действуют и ведут себя, как если бы они были отдельными серверами Windows Server 2003 и имели бы доступ ко всем ресурсам сервера. Благодаря этому web-узлы многих разных фирм могут размещаться на одном и том же компьютере, работающем под управлением Windows Server 2003. Но IIS на этих компьютерах приходится иногда останавливать, запускать и приостанавливать. Например, при изменении файлов на web-узле работа этого сайта обычно приостанавливается, чтобы избежать новых соединений пользователей с сайтом, а уже подключенных пользователей отсоединить по истечении некоторого позволенного им времени. Когда вы тестируете web-приложение, разработанное при помощи ASP, вам, вероятно, понадобится остановить, а затем снова запустить узел, если в процессе тестирования приложение «зависло» или перестало отвечать на запросы. Идея состоит в том, что когда на вашем сервере работает сразу много узлов, было бы хорошо не останавливать их все из-за проблем на каком-то одном из сайтов.
В Windows Server 2003 предусмотрена возможность, позволяющая применять Диспетчер служб IIS для остановки отдельных Web- и FTP-узлов без необходимости остановки служб WWW и FTP публикаций для всех узлов на сервере. Для приостановки (паузы), остановки и запуска узла просто выберите в дереве консоли нужный узел и выполните одно из следующих действий:

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

Кроме того, вы можете запускать, останавливать и запускать снова сразу все Web- и FTP-узлы на вашем сервере, выбрав в дереве консоли Диспетчер служб IIS узел, представляющий сервер: щелкните кнопку Действие в панели инструментов, выберите Все задачи -> Перезапуск IIS в раскрывающемся меню. Вы можете подумать, что сразу все web-узлы, работающие на вашем компьютере, можно останавливать, остановив Службу Веб-публикаций при помощи узла Администрирование -> Службы в оснастке Управление компьютером. Так делать не надо. Служба IIS реализована не так, как другие службы Windows Server 2003, и не должна останавливаться и запускаться этим способом. И, наконец, если вы хотите перезапустить IIS из командной строки, то можете набрать с клавиатуры iisreset . Эту команду можно использовать и в пакетных файлах.

Использование серверных расширений FrontPage.

IIS 6.0 использует набор серверных динамических библиотек DLL, называемых «расширения FrontPage» (FrontPage Extensions), действующих со стороны сервера и служащих для поддержки дополнительных средств FrontPage Extensions, таких как возможность создавать навигационные панели, средства для поиска, для web-обсужений и т. д. Давайте теперь рассмотрим, как устанавливать серверные расширения FrontPage. В сетях, где разработчики пользуются данным популярным инструментальным средством для создания web — содержимого, эта задача относится к основным задачам администрирования web — сервера IIS. Вопросы создания содержимого мы не будем рассматривать, а покажем, как можно организовать работу сервера в сочетании с FrontPage Extensions.

Разрешение использования расширений FrontPage.

Хотя программное обеспечение, необходимое для поддержки FrontPage Extensions, уже установлено, вам все же понадобится разрешить использование расширений FrontPage на web-узлах, которыми будут пользоваться ваши разработчики содержимого FrontPage. Чтобы проиллюстрировать это, давайте возьмем web-узел МойУзел и выполним следующие действия.

    Нажмите правой кнопкой мыши на узел МойУзел в дереве консоли Диспетчер служб IIS, укажите на Все задачи и выберите Configure Server Extensions 2002 (Конфигурировать серверные расширения). В результате запустится веб-страница Install.

Щелкните кнопку Submit, чтобы активизировать FrontPage Server Extensions 2002. Появится окно администрирования сервера Server Administration.

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

— Set List Of Available Rights — позволяет задавать список доступных прав
— Set Install Defaults — позволяет задать настройки по умолчанию для установки
— Reset User Password — позволяет обновить пароль пользователя

Выберите функцию Set List Of Available Rights, чтобы перейти к странице Rights (Права). Вы можете задействовать или отменить необходимые права, установив или сняв соответствующие флажки.

Чтобы изменения вступили в силу нажмите кнопку Submit. После внесения изменений вернитесь к предыдущей странице.

Выберите функцию Set Install Defaults, чтобы перейти к странице настроек по умолчанию. В разделе Mail Settings (Настройка почты) вы можете указать почтовый сервер, адрес отправителя и адрес для ответа, чтобы использовать их в средствах для электронной почты FrontPage Server Extensions 2002. В разделе Security Settings (Настройка безопасности) вы можете задавать авторские настройки, установку защищенных соединений SSL и разрешать авторам загрузку на сервер исполняемых файлов.

Чтобы изменения вступили в силу нажмите кнопку Submit. После внесения изменений вернитесь к предыдущей странице.

Выберите функцию Reset User Password, чтобы перейти к странице обновления пароля. Указав имя пользователя вы можете изменить действующий пароль данного пользователя на новый.

Чтобы изменения вступили в силу нажмите кнопку Submit. После внесения изменений вернитесь к предыдущей странице.

  • После установки и настройки сервера FrontPage Extensions закройте окно обозревателя.
  • С установкой сервера FrontPage Server Extensions 2002 на вашем web-узле появится множество виртуальных и физических подкаталогов вместе с сопоставленными файлами серверных расширений. Не удаляйте эти папки и файлы, иначе это приведет к неправильной работе серверных расширений.

    Настройка виртуальных каталогов Internet Information Services

    Для работы компонентов веб-приложения «Форсайт. Аналитическая платформа» на веб-сервере и BI-сервере необходимы виртуальные каталоги, созданные стандартными средствами Internet Information Services: « fp _App_v x64» и « fp BI_App_v x64», пулы « fp Pool v » и « fp BI Pool v x64», где — это версия «Форсайт. Аналитическая платформа». Например, названия виртуальных каталогов для «Форсайт. Аналитическая платформа» версии 9.2: « fp _App_v9.2 x64» и « fp BI_App_v9.2×64», пулы « fp Pool v9.2» и « fp BI Pool v9.2 x64».

    На веб-сервере создание каталогов и пулов происходит автоматически при установке веб-приложения «Форсайт. Аналитическая платформа» (FP9WebServer.exe).

    Если по каким-либо причинам на веб-сервере не был создан виртуальный каталог, то его следует создать вручную.

    Настройки Internet Information Services

    Проверьте настройки, для этого откройте диспетчер служб Internet Information Services:

    В дереве « Подключения » выберите раздел « Пулы приложений ».
    Для пула « fp BI Pool v9.2 x64» и « fp Pool v9.2» выполните команду контекстного меню « Основные настройки ». Убедитесь, что выбран режим управляемого конвейера « Встроенный »:

    В дереве « Подключения », в разделе «сайты», выберите пункт « Default Web Site » — откроется список виртуальных каталогов. Убедитесь, что для виртуального каталога « fp _App_v9.2» в свойствах установлен пул « fp Pool v9.2», а для « fp BI_App_v9.2 x64» – « fp BI Pool v9.2 x64». Для открытия свойств нажмите ссылку « Основные настройки » в окне « Действия », расположенном справа.

    Выберите корневой элемент дерева « Подключения », дважды кликните « Ограничения ISAPI и CGI »:

    Для строк «ASP.NET v4.0.30319» и «Axis2 v9.2 x64» в столбце « Ограничение » должно отображаться « Разрешено »:

    Если это не так, то для каждой строки откройте диалог редактирования и установите флажок « Разрешить выполнение пути расширения ». Если отсутствуют строки «ASP.NET v4.0.30319», то выполните настройку Microsoft .NET Framework 4.5.2. Если нет строки «Axis2 v9.2 x64», значит не зарегистрировалась библиотека продукта «Форсайт. Аналитическая платформа», добавьте ее вручную:

    Для виртуального каталога fp BI_App_v9.2×64 дважды кликните «Сопоставления обработчиков»:

    В открывшемся списке должна быть строка:

    Если ее нет, то создайте ее вручную, как показано ниже:

    Iis окно свойств «internet information services»

    Обновлен: Ноябрь 2007

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

    Использование служб IIS Manager. Дополнительные сведения см. в разделах Практическое руководство. Открытие диспетчера IIS и Диспетчер служб IIS (Internet Information Services (IIS) Manager).

    Непосредственное редактирование файла Web.config. Это можно сделать в Visual Studio или Visual Web Developer или используя текстовый редактор.

    Использование средства командной строки служб IIS 7.0 (Appcmd.exe). Оно позволяет указать параметры конфигурации IIS и параметры конфигурации веб-приложения. Дополнительные сведения см. в разделе средство командной строки IIS 7.0 (IIS 7.0 Command-Line Tool).

    Использование инструментария управления Windows (WMI). В пространстве имен WebAdministration поставщика WMI IIS 7.0 содержатся классы и методы, позволяющие создавать сценарии, использующиеся при администрировании веб-узлов, веб-приложений и связанных с ними объектов и свойств. Дополнительные сведения см. в разделе IIS 7.0: WMI.

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

    Модуль управления совместимостью с IIS 6, позволяющий Visual Studio использовать вызовы метабазы для взаимодействия с хранилищем конфигураций IIS 7.0.

    Модуль проверки подлинности Windows, позволяющий проводить отладку веб-приложений в Visual Studio.

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

    Создание настраиваемого модуля управляемого кода и помещение модуля в каталог App_Code веб-приложения.

    Регистрация настраиваемого модуля с использованием диспетчера IIS Manager.

    Добавление настраиваемого заголовка HTTP с использованием диспетчера IIS Manager.

    В этом пошаговом руководстве функциональные возможности модуля не важны. Цель этого пошагового руководства — демонстрация интеграции модуля в конвейер запросов, а также влияния настройки приложения с помощью диспетчера IIS Manager на файл Web.config.

    Для выполнения этого пошагового руководства потребуется:

    Службы IIS 7.0, установленные и выполняющиеся в ОС Windows Vista или в ОС Windows Server 2008.

    По меньшей мере один пул приложений, выполняемый в интегрированном режиме IIS 7.0.

    Модуль Совместимость управления IIS 6 , включенный в IIS 7.0.

    Visual Studio 2008.

    Платформа .NET Framework, версия 3.0 или более поздняя версия.

    Административные разрешения на локальном компьютере.

    Средство для проверки HTTP-запросов и ответов между локальным компьютером и веб-серверами, например, средство Fiddler, доступное на веб-узле Fiddler Web Debugging Proxy.

    Fiddler — это стороннее средство, не поддерживаемое Microsoft.

    Для начала потребуется создать новый веб-узел.

    Создание нового веб-узла

    В Visual Studio нужно создать новый локальный веб-узел HTTP с именем WalkthroughIIS7 .

    Дополнительные сведения о создании локального веб-узла IIS см. в разделе Пошаговое руководство. Создание локального веб-узла IIS в Visual Web Developer .

    В меню Пуск последовательно выберите пункты Все программы , Стандартные и Выполнить .

    В поле Открыть введите inetmgr и нажмите кнопку ОК .

    Примечание.

    Если включен контроль учетных записей пользователей (UAC), то при попытке доступа к службам IIS Manager может быть отображено сообщение. При появлении данного сообщения нажмите кнопку Продолжить . Дополнительные сведения см. в разделе Контроль учетных записей (User Account Control).

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

    Сведения об задании режима веб-приложения см. в разделе Настройка режима обработки запросов для пула приложений (Configure the Request-Processing Mode for an Application Pool).

    Теперь можно создать настраиваемый HTTP-модуль.

    Создание настраиваемого HTTP-модуля

    В обозревателе решений Visual Studio щелкните правой кнопкой мыши узел веб-проекта и выберите пункт Добавить новый элемент .

    Откроется диалоговое окно Добавление нового элемента .

    Под заголовком Установленные шаблоны Visual Studio выберите Класс .

    Выберите предпочитаемый язык программирования.

    Для имени класса введите CustomModule и нажмите Добавить .

    Если веб-узел еще не содержит папки App_Code, отобразится сообщение с запросом подтверждения помещения класса в папку App_Code. Если это так, нажмите кнопку Да .

    В файле класса удалите существующий код и замените его следующим кодом:

    Этот код выполняет следующие действия:

    Определяет настраиваемый модуль управляемого кода, реализующий интерфейс IHttpModule .

    Определяет обработчик событий для события BeginRequest экземпляра HttpApplication . Обработчик событий определяет настраиваемый заголовок, добавляемый к коллекции заголовка ответа.

    Добавляет обработчик к конвейеру запросов для уведомления в методе Init модуля.

    Поскольку класс реализует интерфейс IHttpModule , класс должен реализовать метод Init и метод Dispose . Метод Dispose в этом модуле не имеет функциональных возможностей, но в нем можно при необходимости реализовать логику удаления.

    В меню Построение выберите команду Построить веб-узел , чтобы убедиться, что ошибки в модуле отсутствуют.

    В качестве последней задачи в этом подразделе нужно создать страницы ASP.NET и HTML, используемые позднее в этом пошаговом руководстве для проверки настраиваемого модуля.

    Создание тестовых страниц ASP.NET и HTML

    Добавьте новую однофайловую веб-страницу ASP.NET с именем ASPXpage.aspx в корневую папку приложения.

    Удалите существующую разметку и замените ее на следующую:

    Добавьте новую HTML-страницу с именем HTMLPage.htm в корневую папку веб-приложения.

    Добавьте следующую разметку на HTML-страницу:

    Сохраните все изменения.

    Запустите по отдельности страницу ASPXpage.aspx и страницу HTMLpage.htm, чтобы убедиться в возможности их просмотра в обозревателе.

    Примечание.

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

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

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

    Регистрация настраиваемого модуля управляемого кода

    В меню Пуск последовательно выберите пункты Все программы , Стандартные и Выполнить .

    В поле Открыть введите inetmgr и нажмите кнопку ОК .

    Примечание.

    Если включен контроль учетных записей пользователей (UAC), то при попытке доступа к службам IIS Manager может быть отображено сообщение. При появлении данного сообщения нажмите кнопку Продолжить . Дополнительные сведения см. в разделе Контроль учетных записей (User Account Control).

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

    Разверните папку Узлы .

    Выберите веб-узел WalkthroughIIS7 . В Windows Server 2008, если веб-приложение является приложением веб-узла, сначала разверните этот веб-узел, а затем выберите WalkthroughIIS7 .

    По умолчанию центральная часть диспетчера IIS Manager отображает параметры конфигурации веб-сервера по областям. Для веб-приложения WalkthroughIIS7 существуют две области: ASP.NET и IIS .

    В разделе IIS центральной области дважды щелкните значок Модули .

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

    В области Действия щелкните Добавить управляемый модуль .

    Откроется диалоговое окно Добавление управляемого модуля .

    Введите CustomModule в поле Имя .

    Именем может быть любое слово или фраза, описывающая модуль. В этом пошаговом руководстве будет использовано только имя модуля.

    В списке Тип выберите или введите полное имя управляемого типа для модуля.

    Тип CustomModule появится в списке, поскольку конфигурация IIS включает любые классы в папке App_Code, реализующие IHttpModule .

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

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

    Нажмите кнопку ОК .

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

    Добавление настраиваемого заголовка ответа

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

    В центральной области в разделе параметров IIS дважды щелкните значок Заголовки ответов HTTP .

    Подробные сведения функции Заголовки ответов HTTP будут отображены в центральной области. В ней будут показаны все определенные в данный момент заголовки ответов HTTP.

    В области Действия щелкните Добавить .

    Откроется диалоговое окно Добавить HTTP-заголовок ответа .

    В текстовом поле Имя введите CustomHeader1 .

    Именем может быть любое слово или фраза, описывающая заголовок.

    В текстовом поле Значение введите значение SampleHeader .

    Теперь статическое сжатие будет отключено. Это препятствует сжатию статического содержимого, например страниц HTML.

    Отключение статического сжатия

    Щелкните имя узла WalkthroughIIS7 в левой области, чтобы отобразить основную область конфигурации узла в центральной области.


    В центральной области диспетчера IIS Manager дважды щелкните значок Сжатие в разделе параметров IIS .

    Подробные сведения функции Сжатие будут отображены в центральной области.

    Убедитесь, что флажок Включить сжатие статического содержимого не установлен.

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

    Проверка регистрации модуля в файле Web.config

    Вернитесь к приложению Visual Studio и к приложению WalkthroughIIS7 .

    В обозревателе решений щелкните правой кнопкой мыши имя веб-узла и выберите команду Обновить папку .

    Это приведет к тому, что представление папки веб-узла в Visual Studio будет синхронизировано с папкой и файлами на диске.

    Если приложение изначально не содержало файла Web.config, то теперь у веб-приложения будет файл Web.config. Если приложение уже содержало файл Web.config, то в файл будут внесены изменения.

    В Обозревателе решений дважды щелкните файл Web.config, чтобы просмотреть его содержимое.

    Секция system.webServer содержит изменения в параметрах конфигурации, внесенные с помощью диспетчера IIS Manager. В секции system.webServer содержатся следующие дочерние элементы:

    Элемент modules , регистрирующий настраиваемый модуль для конвейера обработки запросов.

    Элемент httpProtocol , определяющий настраиваемый заголовок ответа.

    Элемент urlCompression , отключающий статическое сжатие.

    Секция system.webServer будет выглядеть примерно так:

    Дополнительные сведения о секции system.webServer см. в разделе Использование конфигурации ASP.NET и в разделе IIS 7.0: system.webServer (IIS Settings Schema) (IIS 7.0: system.webServer (схема параметров IIS)).

    Службы IIS 7.0 имеют интегрированный конвейер запросов. Запросы для всех ресурсов приложения (например, для ASPX-страницы или HTM-страницы) могут вызывать уведомления конвейера в модуле управляемого кода, как и в управляемом модуле, созданном в ходе этого пошагового руководства.

    Примечание.

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

    Проверка применения настраиваемого модуля ко всем ресурсам

    В Visual Studio откройте страницу ASPXpage.aspx и нажмите сочетание клавиш CTRL + F5 для отображения страницы в обозревателе.

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

    Откройте средство наблюдения за трафиком HTTP и обновите страницу ASPXpage.aspx в обозревателе.

    Примечание.

    Если URL-адрес для страницы ASPXpage.aspx использует localhost, измените localhost на имя компьютера, на котором установлены службы IIS 7.0. В типовом сценарии разработки это тот же компьютер, на котором выполняется Visual Studio.

    Убедитесь, что CustomHeader1 и CustomHeader2 появляются в коллекции заголовков ответа.

    Просмотрите HTMLPage.htm в обозревателе.

    Убедитесь, что CustomHeader1 и CustomHeader2 появляются в коллекции заголовков ответа.

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

    Может также возникнуть необходимость узнать об изменении других параметров в диспетчере IIS Manager и о том, как изменения отражаются в файле конфигурации. Дополнительные сведения см. в разделе Internet Information Services (IIS).

    Публикация баз «1С:Предприятия» 8.3 на веб-сервере IIS в Microsoft Windows Server 2008/2012

    В данной статье я подробно опишу процесс организации веб- доступа к базам данных «1С:Предприятие» 8.3 на веб-сервере IIS (Internet Information Server), входящего в поставку Microsoft Windows Server. Для более старых версий «1С:Предприятие» ( 8.1 и 8.2 ) алгоритм публикации баз данных в целом аналогичен. Будет рассмотрен алгоритм настройки IIS для работы «1С:Предприятие», а также описан процесс публикации баз данных на веб-сервере как для 32-разрядного , так и для 64-разрядного модуля расширения веб-сервера.

    0. Оглавление

    1. Что понадобится
    2. Установка веб-сервера IIS
    3. Установка компонент «1С:Предприятие»
    4. Настройка операционной системы
    5. Публикация базы данных на веб-сервере
    6. Настройка IIS для использования 32-разрядного модуля расширения веб-сервера
    7. Настройка IIS для использования 64-разрядного модуля расширения веб-сервера
    8. Подключение к опубликованной информационной базе через веб-браузер
    9. Подключение к опубликованной информационной базе через клиент «1С:Предприятия»
    10. Конфигурационные файлы виртуального каталога
      1. Файл default.vrd
      2. Файл web.config

    1. Что понадобится

    1. Компьютер отвечающий минимальным системным требованиям для работы веб-сервера под управлением одной из операционных систем:
      • Microsoft Windows Server 2012 (R2)
      • Microsoft Windows Server 2008 (R2)
    2. Права локального администратора на данном компьютере.
    3. Дистрибутив для установки компонент «1С:Предприятие». Для настройки 64-разрядного модуля расширения веб-сервера, дистрибутив для установки 64-разрядного сервера «1С:Предприятие». В данном примере используется версия 8.3.4.389. Для более старых версий «1С:Предприятие» (8.1 и 8.2) алгоритм публикации баз данных в целом аналогичен.

    2. Установка веб-сервера IIS

    Устанавливаем веб-сервер Internet Information Server, который по умолчанию входит в поставку Microsoft Windows Server. При установке обязательно выбираем компоненты:

    • Общие функции HTTP (Common HTTP Features)
      • Статическое содержимое (Static Content)
      • Документ по умолчанию (Default Document)
      • Обзор каталогов (Directory Browsing)
      • Ошибки HTTP (HTTP Errors)
    • Разработка приложений (Application Development)
      • ASP
      • ASP.NET 3.5
      • Расширяемость .NET 3.5 (.NET Extensibility 3.5)
      • Расширения ISAPI (ISAPI Extensions)
      • Фильтры ISAPI (ISAPI Filters)
    • Исправление и диагностика (Health and Diagnostics)
      • Ведение журнала HTTP (HTTP Logging)
      • Монитор запросов (Request Monitor)
    • Средства управления (Management Tools)
      • Консоль управления IIS (IIS Management Console)

    Подробно про процесс развертывания веб-сервера IIS я писал:

    • В Microsoft Windows Server 2012 (R2) — здесь. IIS версии 8, после установки должны увидеть страницу Default Web Site вида:
    • В Microsoft Windows Server 2008 (R2) — здесь. IIS версии 7, после установки должны увидеть страницу Default Web Site вида:

    3. Установка компонент «1С:Предприятие»

    На этот же сервер, где развернут веб-сервер IIS, устанавливаем «1С:Предприятие» (32-разрядные компоненты) обязательно выбрав при установке компоненты:

    • 1С:Предприятие
    • Модули расширения веб-сервера

    Если планируется настроить 64-разрядный модуль расширения веб-сервера, то необходимо дополнительно запустить программу установки 64-разрядного сервера из соответствующей поставки «1С:Предприятие» и установить компоненту:

    • Модуль расширения веб-сервера

    4. Настройка операционной системы

    Теперь необходимо установить необходимые права на ключевые папки, используемые при работе веб-доступа к базам данных «1С:Предприятие». Для каталога хранения файлов веб-сайтов, опубликованных на веб-сервере (по умолчанию C:inetpubwwwroot ) необходимо дать полные права группе «Пользователи» (Users). В принципе, этот шаг можно пропустить, но тогда для публикации или изменения публикации базы данных надо будет запускать «1С:Предприятие» от имени администратора. Для настройки безопасности данного каталога, кликаем по нему правой кнопкой мыши и в контекстном меню выбираем «Свойства» (Properties).

    В открывшемся окне свойств, переходим на вкладку «Безопасность» (Security) и нажимаем кнопку «Изменить» (Edit…), для изменения действующих разрешений. Появится окно разрешений для данного каталога. В списке Групп или пользователей (Groups or user names) выделим группу «Пользователи» (Users) и в списке разрешений для выбранной группы установим флаг «Польный доступ» (Full control). Затем нажмем «Применить» (Apply) для записи изменений и закроем все окна при помощи кнопки «ОК».

    Далее необходимо дать полные права на каталог с установленными файлами «1С:Предприятие» (по умолчанию C:Program Files (x86)1cv8 для 32-разрядного модуля расширения и C:Program Files1cv8 для 64-разрядного) группе IIS_IUSRS. Для этого выполняем аналогичные описанным выше действия, с той лишь разницей, что для того чтобы необходимая группа появилась в списке «Группы или пользователи» (Groups or user names) необходимо нажать расположенную под списком кнопку «Добавить» (Add..), а в окне выбора групп или пользователей нажать «Дополнительно» (Advanced…).

    Затем нажимаем расположенную справа кнопку «Поиск» (Find Now), после чего выбираем необходимую группу IIS_IUSRS в таблице результатов поиска и нажимаем «ОК».

    Группа IIS_IUSRS появится в списке групп или пользователей. Даем ей полные права на на выбранную директорию и нажимаем «Применить» (Apply) для сохранения изменений.

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

    5. Публикация базы данных на веб-сервере

    Переходим к непосредственной публикации базы данных на веб-сервере. Для этого запускаем «1С:Предприятие» в режиме Конфигуратор для той базы, которую требуется опубликовать. Затем в меню выбираем «Администрирование» — «Публикация на веб-сервере…»

    Откроется окно настройки свойств публикации на веб-сервере. Основные поля необходимые для публикации уже заполнены по умолчанию:

    • Имя виртуального каталога — имя по которому будет происходить обращение к база данных на веб-сервере. Может состоять только из символов латинского алфавита.
    • Веб сервер — выбирается из списка найденных на текущем компьютере веб-серверов. В нашем случае это Internet Information Services.
    • Каталог — физическое расположение каталога, в котором будут располагаться файлы виртуального приложения.
    • Соответствующими флагами можно указать типы клиентов для публикации, а также указать возможность публикации Web-сервисов. В расположенной ниже таблице можно отредактировать список Web-сервисов которые будут опубликованы, а также в столбце «Адрес» изменить синоним, по которому будет происходить обращение к данному Web-сервису.
    • Также для веб-сервера IIS есть возможность указать необходимость выполнения аутентификации на веб-сервере средствами ОС, установив соответствующий флаг.

    Выбрав необходимые настройки публикации нажимаем «Опубликовать».

    Если публикация прошла без ошибок, увидим соответствующее сообщение.

    Публикация на веб-сервере IIS всегда выполняется для веб-сайта по умолчанию и для пула приложения по умолчанию. Стоит иметь ввиду, что при выполнении публикации из конфигуратора будет зарегистрирован 32-разрядный модуль расширения веб-сервера, а используемый по умолчанию пул приложений — DefaultAppPool — без настройки работает только с 64-разрядными приложениями. Соответственно, дальнейшие действия зависят от разрядности модуля расширения веб-сервера, который планируется использовать. Для 32-разрядного модуля расширения веб-сервера, необходимо разрешить пулу приложений использовать 32-разрядные приложения, либо же зарегистрировать 64-разрядный модуль расширения веб-сервера. Об этом пойдет речь ниже

    6. Настройка IIS для использования 32-разрядного модуля расширения веб-сервера

    Запустим Диспетчер служб IIS (Internet Information Services (IIS) Manager). Сделать это можно из Диспетчера серверов (Server Manager) выбрав в меню пункт «Средства» (Tools) — «Диспетчер служб IIS» (Internet Information Services (IIS) Manager).

    Здесь, развернув дерево в окне подключений, увидим, что для веб-сайта по умолчанию —Default Web Site — появился преобразованный в приложение виртуальный каталог с именем, которое мы задавали при публикации базы данных. Для завершения публикации осталось только разрешить 32-разрядные приложения для пула приложений по умолчанию. Для этого перейдем в дереве подключений на вкладку «Пулы приложений» (Application Pools).

    В списке пулов приложений найдем пул с именем DefaultAppPool. Кликнем по нему правой кнопкой мыши и в контекстном меню выберем пункт «Дополнительные параметры» (Advanced Settings).

    В открывшемся окне параметров пула приложения, в группе «Общие» (General) найдем пункт «Разрешены 32-разрядные приложения» (Enable 32-Bit Applications) и установим значение параметра равным True. Затем сохраним изменения нажав «ОК».

    7. Настройка IIS для использования 64-разрядного модуля расширения веб-сервера

    Зарегистрировать 64-разрядный модуль расширения веб-сервера можно с помощью утилиты webinst.exe соответствующей версии, расположенной в каталоге bin, каталога с установленной программой «1С:Предприятие», либо воспользоваться приведенным ниже способом.

    Запустим Диспетчер служб IIS (Internet Information Services (IIS) Manager). Сделать это можно из Диспетчера серверов (Server Manager) выбрав в меню пункт «Средства» (Tools) — «Диспетчер служб IIS» (Internet Information Services (IIS) Manager).

    Здесь, развернув дерево в окне подключений, увидим, что для веб-сайта по умолчанию —Default Web Site — появился преобразованный в приложение виртуальный каталог с именем, которым мы задавали при публикации базы данных. Для завершения публикации осталось только указать данному приложению использовать 64-разрядный обработчик запросов. Для этого откроем страницу настройки сопоставления обработчиков для данного виртуально каталога, выбрав пункт «Сопоставление обработчиков» (Handler Mappings) на начальной странице приложения.

    В таблице сопоставлений обработчиков найдем обработчик «1С Web-service Extension». Откроем данный обработчик, кликнув 2 раза по соответствующей строке в таблице.

    Отредактируем обработчик, заменив путь к исполняемой dll 32-разрядного модуля расширения веб-сервера, который выбран в данный момент, на путь к 64-разрядной версии библиотеки. В данном примере меняем путь c «C:Program Files (x86)1cv88.3.4.389binwsisapi.dll» на «C:Program Files1cv88.3.4.389binwsisapi.dll» воспользовавшись кнопкой выбора. Изменив путь нажимаем «ОК» для сохранения изменений.

    8. Подключение к опубликованной информационной базе через веб-браузер

    Ну вот вроде и все. Для подключений к только что опубликованной базе данных, запускаем Internet Explorer, и в строке адреса вводим путь вида http://localhost/ . В данном примере это http://localhost/DemoAccounting/.

    К данной информационной базе также можно подключиться и с любого компьютера в сети, обратившись к веб-серверу по его внутреннему (или если прокинут порт 80, по внешнему) IP-адресу.

    В этом случае, для корректной работы «1С:Предприятие», имя домена, на который идет обращение (или IP-адрес) должен быть добавлен в надежные узлы Internet Explorer, а также для него должны быть разрешены всплывающие окна. Подробнее про настройку Internet Explorer для работы веб-клиента «1С:Предприятие» читайте здесь.

    9. Подключение к опубликованной информационной базе через клиент «1С:Предприятия»

    К опубликованной на веб-сервере информационной базе можно подключиться и с помощью тонкого клиента «1С:Предприятия». Для подключения откроем окно запуска «1С:Предприятие» и нажмем кнопку «Добавить» для добавления информационной базы.

    В окне добавления информационной базы/группы установим переключатель в «Добавление в список существующей информационной базы» и нажмем «Далее».

    Введем имя базы данных, как она будет отображаться в списке информационных баз (должно быть уникальным для данного списка), тип расположения выберем «На веб-сервере» и нажмем «Далее».

    Вводим строку адреса для подключения к информационной базе (без префикса /ru_RU/). Также здесь можно указать параметры прокси-сервера (если есть) и способ аутентификации на веб-сервере. Указав необходимые настройки снова жмем «Далее».

    Указываем параметры запуска для информационной базы и нажимаем «Готово» для завершения работы мастера.

    После чего данная информационная база появится в списке баз окна запуска «1С:Предприятие». Обратим внимание что режим запуска Конфигуратор недоступен для данного типа подключения. Нажимаем «1С:Предприятие» для подключения к информационной базе.

    10. Конфигурационные файлы виртуального каталога

    Рассмотрим подробнее структуру файлов, которые были созданы в процессе публикации. Если веб-доступ к опубликованной информационной базе по каким-то причинам не заработал, конфигурационные файлы можно отредактировать вручную, для достижения желаемого результата (конфигурационные файлы из данной статьи для 64-разрядного модуля расширения веб-сервера можно скачать здесь).

    Перейдем в каталог, который мы указывали во время публикации базы данных. В нем увидим два файла:

    • default.vrd
    • web.config

    Оба файла доступны для просмотра и редактирования с помощью любого текстового редактора, например программы «Блокнот» (Notepad). Рассмотрим структуру этих файлов подробнее.

    10.1. Файл default.vrd

    В файле default.vrd описываются опубликованные Web-сервисы (элемент ), а также указывается имя виртуального приложения (атрибут base) и строка подключения к информационной базе «1С:Предприятие» (атрибут ib). В данном примере для файловой информационной базы, строка подключения будет следующей:

    Как видно из примера, если в строке подключения встречаются символы, недопустимые с точки зрения стандарта XML (http://www.w3.org/TR/xml11/), они должны быть заменены соответствующим образом.

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

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

    Где WIN2012 — имя кластера серверов «1С:Предприятие», а Accounting — имя базы данных в кластере.

    Подробнее про структуру данного файла можно почитать в книге «Руководство администратора» 2-е издание , Приложение 2, глава 3.12.

    10.2. Файл web.config

    Файл web.config — это файл, определяющий параметры для ASP.NET web-приложения. В каждом web-приложении должен быть файл web.config, находящийся в его корневом каталоге. Наш виртуальный каталог не является исключением. В текущем файле содержатся данные об обработчике «1С Web-service Extension», обрабатывающем запросы к данному приложению. Обработчик настроен таким образом, что все запросы передаются библиотеке wsisapi.dll, расположенной в каталоге bin, каталога с файлами «1С:Предприятие». В случае использования серверных информационных баз, версия библиотеки должна соответствовать версии кластера серверов «1С:Предприятия».

    Данный обработчик можно найти (или добавить, если его нет) в Диспетчере служб IIS. Для этого необходимо выделить вкладку с текущим приложением и в окне свойств выбрать пункт «Сопоставления обработчиков» (Handler Mappings).

    В таблице сопоставлений обработчиков увидим наш обработчик «1С Web-service Extension». Если такого обработчика в списке нет, его следует добавить выбрав в окне «Действия» (Actions) пункт «Добавление сопоставления сценария с подстановочными знаками» (Add Wildcard Script Map…).

    При добавлении вводим имя обработчика и указываем путь к файлу wsisapi.dll. Данные параметры можно изменить и для действующего обработчика выбрав пункт «Изменить…» (Edit…) в окне списка действий.

    Необходимо также убедиться, что для обработчика стоит флаг «Выполнение» (Execute) в окне изменений разрешений функции. Вызвать данное окно можно выбрав пункт «Изменение разрешений функции…» (Edit Feature Permissions…) в окне «Действия» (Actions).

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

    Привет. Давайте установим ISS. А для начала узнаем что такое IIS?

    Основным компонентом IIS является веб-сервер, который позволяет размещать в Интернете сайты. IIS поддерживает протоколы HTTP, HTTPS, FTP, POP3, SMTP, NNTP.

    Отлично. Теперь мы знаем что мы будем ставить . Приступим.

    Установка

    Первым делом идем в главное меню «Пуск» (Start) далее

    Панель управления -> Программы -> Включение или отключение компонентов Windows.

    Находим в списке «Службы IIS» и выбираем нужные компоненты

    Где-то рекомендовалось следующее:

    • Безопасность. Все компоненты кроме «Проверка подлинности с сопоставлением сертификата …».
    • Компоненты разработки приложений. Для PHP нужна компонента CGI.
    • Общие функции HTTP. Отмечаем все пункты.
    • Проверка работоспособности и диагностика. Выбираем «Ведение журнала HTTP» и «Монитор запросов».
    • Функции повышения быстродействия. Отмечаем все пункты.
    • Средства управления веб-сайтом. Отмечаем только «Консоль управления IIS».


    Лично я немного отступил от этого описания и добавил FTP, так как мне для моих нужд потребуется тестировать работу с FTP.

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

    все. Можно сказать что наш ISS Сервер установлен. Перейдем к его начальному конфигурированию .

    Конфигурирование

    Идем в управление компьютером (правой кнопкой мыши по значку «Компьютер» -> Управление), далее «Службы и приложения» -> «Диспетчер служб IIS» или счастливые обладатели Windows 7 могут пойти по другому «Пуск» и в поле «Найти программы и файлы» ввести «IIS» и в списке отобразится заветная «Диспетчер служб IIS»

    Идем в сайты. Сайт по умолчанию я удалил сразу, решив что он мне не нужен и для наглядности я создам новый .

    Правой кнопкой мыши по «сайтам» -> «Добавить web сайт»

    Настройка веб-публикации 1С, подключение кассового оборудования

    1. Настройка веб-сервера в IIS

    Устанавливаем веб-сервер Internet Information Server, который по умолчанию входит в поставку Microsoft Windows Server. При установке обязательно выбираем компоненты:

    • Общие функции HTTP (Common HTTP Features)
      • Статическое содержимое (Static Content)
      • Документ по умолчанию (Default Document)
      • Обзор каталогов (Directory Browsing)
      • Ошибки HTTP (HTTP Errors)
    • Разработка приложений (Application Development)
      • ASP
      • ASP.NET 3.5
      • Расширяемость .NET 3.5 (.NET Extensibility 3.5)
      • Расширения ISAPI (ISAPI Extensions)
      • Фильтры ISAPI (ISAPI Filters)
    • Исправление и диагностика (Health and Diagnostics)
      • Ведение журнала HTTP (HTTP Logging)
      • Монитор запросов (Request Monitor)
    • Средства управления (Management Tools)
      • Консоль управления IIS (IIS Management Console)

    2. Публикации базы в 1С

    На этот же сервер, где развернут веб-сервер IIS, устанавливаем «1С:Предприятие» (32-разрядные компоненты), обязательно выбрав при установке компоненты:

    • 1С:Предприятие
    • Модули расширения веб-сервера

    Если планируется настроить 64-разрядный модуль расширения веб-сервера, то необходимо дополнительно запустить программу установки 64-разрядного сервера из соответствующей поставки «1С:Предприятие» и установить компоненту:

    • Модуль расширения веб-сервера

    2.1 Настройка прав доступа для IIS

    Теперь необходимо установить необходимые права на ключевые папки, используемые при работе веб-доступа к базам данных «1С:Предприятие». Для каталога хранения файлов веб-сайтов, опубликованных на веб-сервере (по-умолчанию: C:\inetpub\wwwroot\), необходимо дать полные права группе «Пользователи» (Users). В принципе, этот шаг можно пропустить, но тогда для публикации или изменения публикации базы данных надо будет запускать «1С:Предприятие» от имени администратора. Для настройки безопасности данного каталога, кликаем по нему правой кнопкой мыши и в контекстном меню выбираем «Свойства» (Properties).

    В открывшемся окне свойств, переходим на вкладку «Безопасность» (Security) и нажимаем кнопку «Изменить» (Edit…), для изменения действующих разрешений. Появится окно разрешений для данного каталога. В списке Групп или пользователей (Groups or user names) выделим группу «Пользователи» (Users) и в списке разрешений для выбранной группы установим флаг «Полный доступ» (Full control). Затем нажмем «Применить» (Apply) для записи изменений и закроем все окна при помощи кнопки «ОК».

    Далее необходимо дать полные права на каталог с установленными файлами «1С:Предприятие» (по-умолчанию: C:\Program Files (x86)\1cv8\ для 32-разрядного модуля расширения и C:\Program Files\1cv8\ для 64-разрядного) группе IIS_IUSRS. Для этого выполняем аналогичные описанным выше действия, с той лишь разницей, что для того, чтобы необходимая группа появилась в списке «Группы или пользователи» (Groups or user names), необходимо нажать расположенную под списком кнопку «Добавить» (Add..), а в окне выбора групп или пользователей нажать «Дополнительно» (Advanced…).

    Затем нажимаем расположенную справа кнопку «Поиск» (Find Now), после чего выбираем необходимую группу IIS_IUSRS в таблице результатов поиска и нажимаем «ОК».

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

    2.2 Публикация базы данных на веб-сервере

    Переходим к непосредственной публикации базы данных на веб-сервере. Для этого запускаем «1С:Предприятие» в режиме Конфигуратор для той базы, которую требуется опубликовать. Затем в меню выбираем «Администрирование» — «Публикация на веб-сервере…»

    Откроется окно настройки свойств публикации на веб-сервере. Основные поля, необходимые для публикации, уже заполнены по-умолчанию:

    • Имя виртуального каталога — имя, по которому будет происходить обращение к базе данных на веб-сервере. Может состоять только из символов латинского алфавита.
    • Веб-сервер — выбирается из списка найденных на текущем компьютере веб-серверов. В нашем случае это Internet Information Services.
    • Каталог — физическое расположение каталога, в котором будут располагаться файлы виртуального приложения.
    • Соответствующими флагами можно указать типы клиентов для публикации, а также указать возможность публикации Web-сервисов. В расположенной ниже таблице можно отредактировать список Web-сервисов, которые будут опубликованы, а также в столбце «Адрес» изменить синоним, по которому будет происходить обращение к данному Web-сервису.
    • Также для веб-сервера IIS есть возможность указать необходимость выполнения аутентификации на веб-сервере средствами ОС, установив соответствующий флаг.

    Выбрав необходимые настройки публикации, нажимаем «Опубликовать».

    Если публикация прошла без ошибок, увидим соответствующее сообщение.

    2.3 Подключение к опубликованной информационной базе через веб-браузер

    Для подключений к опубликованной базе данных запускаем Internet Explorer, в строке адреса вводим путь вида http://localhost/ . В данном примере это http://http://localhost/BP.

    К данной информационной базе также можно подключиться и с любого компьютера в сети, обратившись к веб-серверу по его внутреннему (или если прокинут порт 80 — по внешнему) IP-адресу.

    3. Создание бесплатного SSL-сертификата Let’s Encrypt на IIS

    Наличие SSL-сертификата для сайта позволяет защитить данные пользователей, передаваемые по сети от атак человек-посередине (man-in-the-middle) и гарантировать целостность переданных данных.

    Let’s Encrypt – это некоммерческий центр сертификации, позволяющий в автоматическом режиме через API выпускать бесплатные SSL/TLS сертификаты. Выдаются только сертификаты для валидации доменов (domain validation) со сроком действия 90 дней, что не является проблемой из-за наличия встроенной возможности автоматического перевыпуска сертификата, в результате чего обеспечивается непрерывность защиты.

    Далее описан способ получить SSL-сертификат от Let’s Encrypt при помощи консольной утилиты LetsEncrypt-Win-Simple. Она представляет собой простой мастер, который позволяет выбрать один из сайтов, запущенных на IIS и автоматически выпустить и привязать к нему SSL-сертификат.

    3.1 Создание SSL-сертификата

    Скачиваем последний релиз клиента со страницы проекта на GitHub https://github.com/PKISharp/win-acme/releases

    Распакуем его в каталог на сервере с IIS: c:\inetpub\letsencrypt

    Запустится интерактивный мастер, который сначала попросит указать ваш e-mail, на который будут отправляться уведомления о проблемах с обновлением сертификата, и согласиться с пользовательским соглашением.

    Затем нужно будет выбрать, что необходимо создать новый сертификат (N: Create new certificate) и выбрать тип сертификата (в нашем примере нет необходимости использовать сертификат с несколькими SAN), поэтому достаточно выбрать пункт 1. Single binding of an IIS site.

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

    Следующий этап – выполнение валидации домена. Доступно несколько вариантов валидации: TLS, через запись в DNS или через HTTP). Самый простой вариант — выбрать пункт 4 [http-01] Create temporary application in IIS (recommended). В этом случае на веб-сервере будет создано небольшое приложение, через которое серверы Let’s Encrypt смогут провести валидацию.

    Примечание. При выполнении TLS/HTTP проверки ваш сайт должен быть доступен снаружи по полному DNS имени по протоколам HTTP (80/TCP) и HTTPS (443/TCP).

    После валидации утилита letsencrypt-win-simple автоматически отправит запрос на генерацию сертификата, скачает его (все необходимые файлы, а также закрытый ключ сохраняются в каталог C:\Users\User\AppData\Roaming\letsencrypt-win-simple) и создаст привязку на сайте IIS. В том случае, если на сайте уже установлен SSL-сертификат, он будет заменен новым. Кроме того, будет создано правило в планировщике заданий Windows, которое запускается каждый день и автоматически выпускает и устанавливает новый сертификат каждые 60 дней.

    3.2 Создание отдельного пула и сайта с подключенным с SSL-сертификатом.

    Создаем отдельный пул в IIS для letsencrypt

    Добавляем сайт в новый пул. Порт указываем 443 (или другой на который позже сделаем проброс на 443 порт).

    Указать новый сертификат в «Сертификаты SSL»:

    Iis окно свойств «internet information services»

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

    Обозначение 7.x означает, что здесь собран материал для обеих версий продукта: IIS 7 , поставляемый с Windows Server 2008 и Windows Vista , и IIS 7.5 , который Вы можете найти в «коробке» от Windows Server 2008 R2 и Windows 7 .

    Все меры, представленные в данной подборке, ни в коем случае не являются ОБЯЗАТЕЛЬНЫМИ. Более того, они могут даже противоречить системным требованиям Ваших веб-приложений. Решение о принятии той или иной меры все таки необходимо выносить в условиях конкретной ситуации. Здесь меры будут носить лишь ОПИСАТЕЛЬНЫЙ характер, чтобы администратор знал — вот здесь еще можно подкрутить ;)

    Все ответы

    Основы безопасности IIS

    Административные меры безопасности IIS

    Максимальное усиление безопасности IIS

    Кратко об Internet Information Services 7.x

    Internet Information Services 7.x — компонент веб-сервиса компании Microsoft для операционной системы Windows Server 2008 (R2) .

    На момент написания данного материала IIS 7.5 является последним в длинной линейке версий IIS . Начиная с версии 6.0, Microsoft в цикле разработки данного продукта решила сосредоточить особое внимание на безопасности и непрерывно следует этому подходу до сих пор. В результате IIS 7.x поставляется с большим количеством изменений по сравнению со своим предшественником и имеет огромное количество новых возможностей, которыми только надо умело пользоваться. IIS 7.x был полностью переработан и сейчас базируется на новой модульной архитектуре. Это означает, что вместо монолитного «черного ящика», который устанавливается по умолчанию и имеет лишь пару дополнительных возможностей, IIS 7.x теперь имеет около 40 отдельных компонентов — так называемых модулей. По умолчанию устанавливаются только самые основные модули; дополнительные же могут быть легко добавлены в случае необходимости. Это помогает значительно уменьшить площадь атаки на сервер, просто потому, что ненужные средства отсутствуют в системе. Модульная архитектура имеет множество преимуществ, и в части безопасности, и в администрировании, и в производительности веб-сервера. Кроме того, IIS 7.x не ограничивает Вас набором предразработанных модулей — пишите свои, если хотите заменить существующие, или есть требование расширить функциональность веб-сервера.

    Основы архитектуры IIS, или запросопровод для ASP.NET

    В прошлом году мне пришлось отсобеседовать около 10-15 кандидатов на должность веб-программиста на ASP.NET средней квалификации. В качестве вопросов «на засыпку», или «со звёздочкой», я просил рассказать, что происходит с HTTP-запросом от момента его поступления на 80-й порт сервера до передачи управления коду aspx-страницы. Статистика была удручающей: ни один из кандидатов не смог выдать хоть что-нибудь внятное. И этому есть своё объяснение: ни в MSDN с technet, ни на специализированном ресурсе iis.net, ни в книгах a-la «ASP.NET для профессионалов», ни в блогах данной теме не уделяется должного внимания – информацию приходится собирать чуть ли не по крупицам. Я даже знаю людей, которые решили написать свой собственный веб-сервер (Игорь, Георгий, привет!), чтобы не разбираться в работе IIS. Единственная толковая статья – «Introduction to IIS Architectures» Риган Темплин (Reagan Templin). Но и она остаётся на периферии интересов аспнетчиков.

    Хотя мне лично уже не так интересны чисто технические вопросы, я решил собрать в кучу свой накопленный опыт, раскопать на просторах Сети любопытные детали и передать сие сакральное знание массам, пока оно ещё не устарело. Сразу оговорюсь, что статья ориентирована в большей степени на IIS 7.x, иногда будут ответвления про 6-ку. С 8-й версией в работе не сталкивался, поэтому решил обойти её в этой статье стороной. Но, уверен, читатель без труда разберётся с восьмёркой, освоив изложенный ниже материал.

    1. Общий план
    2. Крупный план
    2.1. HTTP.SYS
    2.2. World Wide Web Publishing Service (W3SVC)
    2.3. Windows Process Activation Service (WAS)
    2.4. Пул приложений
    2.5. Домен приложения, приложение
    3. Что дальше?
    Источники

    1. Общий план

    Итак, начнём с конца, а потом рассмотрим отдельные аспекты чуть более пристально.
    В англоязычной литературе процесс обработки запроса в IIS называется «request processing pipeline» — что-то вроде «конвейера обработки запроса». В общих чертах он представлен на рисунке ниже для http-запроса.

    Рис. 1. HTTP request processing pipeline (IIS 7.x).

    Таким образом, http-запрос проходит по «сборочной ленте конвейера» через следующее:

    1. Браузер обращается к веб-серверу по определённому URL, на стороне сервера запрос перехватывает драйвер HTTP.SYS.
    2. HTTP.SYS стучится к WAS для получения информации из хранилища конфигурации.
    3. Служба WAS запрашивает конфигурацию из хранилища — из файла в папке IIS (applicationHost.config).
    4. Поскольку данный запрос получен по протоколу HTTP конфигурационную информацию получает служба W3SVC (она же WWW Service на картинке), эта информация содержит в себе данные о пуле приложений (application pool) и прочих параметрах сайта.
    5. Служба W3SVC использует эту информацию для кофигурации HTTP.SYS.
    6. Служба WAS запускает процесс W3WP.exe для пула приложений, если он ещё не был запущен.
    7. В процессе W3WP.exe работает приложение веб-сайта, которое, собственно, формирует и возвращает ответ драйверу HTTP.SYS.
    8. HTTP.SYS отправляет ответ браузеру.

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

    2. Крупный план

    2.1. HTTP.SYS

    На транспортном уровне IIS использует прослушивателей протоколов (protocol listeners), которые располагаются поверх стека TCP/IP. Наиболее интересный нам такой компонент – это системный драйвер HTTP.sys, который встроен в ядро ОС и работает с протоколами HTTP и HTTPS, регистрирующийся самостоятельно на прослушку всех портов, на которые будут приходить запросы к сайтам в IIS.

    Встроенный в ядро HTTP.sys стал нововведением в IIS 6, заместив собой Windows Socket API – компонент перехвата HTTP- и HTTPS-запросов на пользовательском уровне в IIS более ранних версий. Вероятно, интеграция драйвера в ядро является той самой причиной, по которой версия IIS жёстко привязана к версии Windows.

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

    Ещё HTTP.sys умеет кешировать ответы (более подробно — Instances in which HTTP.sys does not cache content), поэтому некоторые запросы обрабатываются без передачи на уровень приложения, а также проводит первичный разбор URI запроса и его валидацию в соответствии с RFC 2396 (кое-что можно почерпнуть отсюда — Use of special characters like ‘%’ ‘.’ and ‘:’ in an IIS URL) и журналирование запросов/ответов.

    Некоторые настройки HTTP.sys вынесены в системный реестр Windows (более подробно — Http.sys registry settings for Windows). Кстати, там же – в реестре – можно подсмотреть обычное место прописки нашего гражданина: %SystemRoot%\system32\drivers\http.sys.

    Признаться, в процессе написания данной статьи я сам открыл для себя некоторые детали. Например, кэширование ответов на уровне драйвера HTTP.sys. Это помогло мне объяснить один случай странного, как мне тогда казалось, феномена в поведении IIS. Маркетологи выложили на сайт swf-открытку перед очередным праздником, но потом им что-то не понравилось в названии файла и они его переименовали. Однако сайт продолжал выдавать открытку по старому URL и даже очистка браузерного кэша не помогала. Тут уже подключился я, но ни перезапуск веб-сайта и всего пула приложений, ни обращение к сайту в обход корпоративного прокси-сервера не дали ожидаемого результата. Но теперь-то мы знаем, кто виноват.

    2.2. World Wide Web Publishing Service (W3SVC)

    Данная служба (сокращённо именуемя в спецификациях WWW service) была представлена в IIS 6 в качестве отдельного компонента для работы с протоколами HTTP/HTTPS и управления рабочими процессами приложений и выполняла следующие функции:

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

    Эта служба функционирует в Windows Server 2003 в контексте процесса Svchost.exe (настройки можно посмотреть в реестре HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W3Svc) в отличие от всех остальных служб IIS, которые исполняются в контексте процесса Inetinfo.exe, и реализована в Iisw3adm.dll.

    В IIS 7.x функция управления процессами была вынесена в отдельную службу – WAS (см. п.2.3) в целях универсализации архитектуры. Теперь WWW-служба стала по своей сути одним из адаптеров, специализируясь на протоколах HTTP/HTTPS – работа поверх драйвера HTTP.sys. Однако WWW-служба остаётся краеугольным компонентом IIS, поэтому её настройка отличается от настройки адаптеров к другим протоколам (чуть подобнее здесь); она функционирует в том же рабочем процессе, что и WAS, и реализована в той же самой библиотеке (рис. 2).

    Рис.2. Рабочий процесс со службами W3SVC и WAS.

    Раз уж зашла речь об адаптерах к прослушивателям протоколов (protocol listener adpater), то давайте чуть задержимся и посмотрим, какие они бывают. В принципе IIS 7.x можно настроить для обработки запросов по любым протоколам помимо типовых HTTP и FTP, например, POP3, SMTP, Gopher. Вы даже вольны придумать свой протокол для своей веб- или WCF-службы и реализовать для него все нужные компоненты, если не жалко своего времени. Скорее всего, адаптеры и прослушиватели для наиболее распространённых протоколов доступны для свободного и коммерческого скачивания – этого я не проверял. Но прежде всего стоить обратить внимание на стандартные службы (рис. 3), поставляемые с .NET Framework и интегрированные с IIS:

    • NetTcpActivator для протокола TCP;
    • NetPipeActivator для Named Pipes;
    • NetMsmqActivator для Message Queuing (ака MSMQ).

    Рис. 3. Перечень стандартных не-HTTP-адаптеров в оснастке Служб Windows.

    Но всё-таки наиболее важным для нас адаптером является именно WWW-служба, т.ч. остановимся чуть подробнее на двух оставшихся от IIS 6 функциях.

    Администрирование и конфигурирование HTTP(S). В момент обновления конфигурации веб-сайтов, служба WAS передаёт эту информацию WWW-службе, а та уже, в свою очередь, настраивает HTTP.sys на прослушку конкретных портов, разбор IP и заголовка запрашиваемого сайта и, возможно, других параметров драйвера. В обратную сторону W3SVC обращается к WAS, когда в очередь запросов в HTTP.sys поступает новый, – для получения рабочего процесса-обработчика данного запроса.

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

    2.3. Windows Process Activation Service (WAS)

    Итак, WWW-служба в IIS 7.x, как и в IIS 6, продолжает выполнять задачи по администрированию HTTP.sys и управлению показателями производительности веб-сайтов. А вот задача управления рабочими процессами вынесена в отдельную службу – WAS. Она запускается системой в единственном экземпляре, считывает конфигурацию из файла %SystemRoot%\System32\inetsrv\Config\ApplicationHost.config и настраивает через соответствующие адаптеры прослушивателей протоколов в соответствии с указанной в нём информации. Напомним, что для протоколов HTTP/HTTPS адаптером является служба W3SVC, а прослушивателем – драйвер HTTP.sys. При перехвате прослушивателем запроса он через свой адаптер обращается к службе WAS для получения рабочего процесса приложения, которому будет передан запрос для обработки и формирования ответа клиенту.

    При активации нужного для обработки пользовательского запроса приложения задействуются следующие компоненты:

    • Адаптеры прослушивателей (Listener adapters) – специальные службы Windows, работающие с конкретным протоколом и взаимодействующие с WAS для направления запросов к правильному рабочему процессу.
    • Собственно WAS. Она ответственна за создание рабочих процессов и управление их временем жизни.
    • Исполняемый файл w3wp.exe – шаблон рабочего процесса.
    • Менеджер приложений управляет созданием и утилизацией доменов приложений (application domains), которые хостятся внутри рабочего процесса.
    • Обработчики протоколов – протоколозависимые компоненты внутри рабочего процесса, ответственные за обмен данными между конкретным адаптером и рабочим процессом. Есть 2 типа обработчиков протоколов: у процесса (process protocol handler — PPH) и у домена приложения (AppDomain protocol handlers — ADPH).

    Ниже на рисунке представлен пример схемы компонентов внутри некоего экземпляра рабочего процесса приложения. Когда служба WAS запускает рабочий процесс, она загружает в него согласно конфигурации приложения требуемые обработчики протоколов процессов (PPH) и посредством менеджера приложений создаёт внутри рабочего процесса домен приложения, в котором будет хоститься приложение. Менеджер приложений загружает код приложения в домен приложения и требуемые обработчики протоколов уровня приложения (ADPH) для обработки сообщений по соответствующим сетевым протоколам.

    Рис. 4. Компоненты w3wp.exe для взаимодействия с внешними компонентами.

    Как отмечалось выше, .NET Framework несёт в себе реализацию компонент для протоколов HTTP/HTTPS (наш любимый ASP.NET), net.tcp, net.pipe и MSMQ. Стеки протоколов HTTP/HTTPS и FTP всё-таки более тесно интегрированы в IIS и ОС, поэтому настройку для нового протокола лучше продемонстрировать на примере менее популярных дотнетовских протоколов. Итак, после установки фреймворка в файле конфигурации IIS ApplicationHost.config появляется записи:

    А соответствующие компоненты PPH и ADPH настраиваются в дотнетовском machine.config:

    В конфигурационном файле веб-сервера ApplicationHost.config вместе с настройками приложений хранятся связки (bindings), определяющие параметры входящих запросов, которые будут направляться данному приложению. Такими параметрами являются название сетевого протокола, IP-адрес сервера, доменное имя и порт сайта. Эти параметры должны быть уникальными среди работающих приложений для однозначной идентификации целевого приложения. Служба WAS отслеживает это ограничение и не даст вам запустить сайт, у которого это условие не соблюдено, либо предложит остановить сайт с такой же связкой.

    Обратите внимание, что в стандартном режиме эксплуатации IIS служба WAS, служба-адаптер для каждого прослушивателя протокола (в т.ч. W3SVC) и сами драйверы/прослушиватели каждого из протоколов (в т.ч. HTTP.sys) запущены в ОС в единственном экземпляре. Но отдельные запросы могут направляться разным приложениям в разных рабочих процессах. С другой стороны, отдельно взятому приложению могут направляться запросы по разным протоколам через соответствующие адаптеры. Видимо, для корректной реализации такого поведения и была придумана архитектурная связка драйвер протокола – адаптер драйвера протокола – служба активации (своеобразный регулировщик, точнее — маршрутизатор) – рабочий процесс.

    2.4. Пул приложений

    При конфигурации веб-приложения помимо привязок (binding) к параметрам запросов и прочих настроек указывается принадлежность к пулу приложений. Пул приложений стал нововведением в IIS 6 и был призван обеспечить изоляцию веб-приложений друг от друго и тем самым повысить стабильность работы веб-сервера в целом. Суть заключается в том, что код приложения выполняется внутри специального процесса Windows – w3wp.exe. Поэтому исключение внутри веб-приложения приведёт к краху только этого процесса и никак не повлияет на доступность веб-приложений в других пулах и работу служб IIS. Более того, служба WAS попытается заново запустить упавший сайт, и внешние клиенты могут даже не заметить проблем в работе сервера.

    Для управления некоторыми параметрами отдельно взятого рабочего процесса w3wp.exe в IIS используется пул приложений. Наиболее часто используемыми из них являются учётная запись, под которой будет запущен процесс, ограничения для очереди запросов, различные таймеры и счетчики для автоматического перезапуска процесса, архитектура x86/x64 (в IIS 7.x) и некоторые другие (рис. 5), о чём любопытный читатель может с лёгкостью прочесть в MSDN и любимом поисковике. Т.о. можно говорить (с определёнными оговорками, см. тж. последний абзац в 2.5) о тождественности процесса w3wp.exe и пула приложений.

    Рис. 5 Дополнительные настройки пула приложений

    Ключевым нововведением в концепции пулов приложений в IIS 7.x стал новый параметр – модель управления контейнером, который может принимать 2 значения: классическая (Classic mode) и встраиваемая модель (Integrated mode).
    Чтобы объяснить разницу между этими режимами работы, потребуется знакомство с понятием «модуль» (Module) в IIS 6/7.x и событийной моделью обработки запросов в связке IIS + ASP.NET. Тема эта достойна отдельной статьи, но меня на неё уже, увы, не хватит, судя по всему. Здесь же представлю вашему вниманию лишь общие, ключевые моменты.

    Итак, IIS при обработке запроса пропускает его внутри рабочего процесса через последовательность специальных компонент – модулей. Например фильтрация, перенаправление, кэширование, аутентификация, авторизация. Каждый такой модуль ассоциируется с определённым событием, а их последовательность составляют событийную модель обработки запросов. Модули делятся на нативные (Native) и управляемые (Managed). Нативные модули поставляются вместе с IIS, а управляемые – в составе .NET Framework (ASP.NET). В общем-то, вы можете управлять ими в определённой степени на уровне конфигурации веб-приложения, но взаимодействовать из кода своего ASP.NET-сайта вы можете только с управляемыми модулями.

    Рис. 6. Идеология модулей в IIS.

    Классическая модель управления контейнером обеспечивает обратную совместимость с режимом изоляции рабочих процессов в IIS 6 – запросы к ASP.NET-сайту сначала проходят через нативные модули, а затем передаются в Aspnet_isapi.dll для обработки модулями в управляемой среде. Такое разделение между IIS и ASP.NET приводит к дублированию некоторых функций, например, аутентификации и авторизации. И вы не имеете возможности управлять программно поведением нативных модулей (пример хоть и не самый животрепещущий, но всё же – раздел «Убираем заголовок Server» в этой статье).

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

    На практике самое важное, что необходимо учитывать при разработке и развёртывании веб-приложений, – это частичная несовместимость этих двух режимов. Т.е. при переводе сайта (точнее пула приложений, в котором работает сайт) из классической модели во встраиваемую практически всегда потребуется корректировка кода (хоть, возможно, и не значительная), а также тщательное тестирование.

    2.5. Домен приложения, приложение

    Непосредственными контейнерами веб-приложения являются приложение и домен приложения (Application Domain, AppDomain). Зачастую эти два понятия отождествляются, но всё-таки это немного разные вещи. Приложение – это понятие IIS, а домен приложения – из ASP.NET. Причём в общем случае в приложении может быть несколько доменов. Приложением вы можете управлять из консоли IIS, а доменом приложения – в основном программно. Так, например, перезапускается приложение из консоли. А когда мы пересохраняем web.config, то перезагружается именно домен приложения, не трогая IIS-приложение.

    Более важным с практической точки зрения является то, что приложение/домен приложения является sandbox-ом для кода вашего ASP.NET-сайта (не с такой надёжной изоляцией, как в случае с пулом, но всё же). Приведу один из моих любимых вопросов, которые я задавал соискателям на собеседованиях. Пусть имеются веб-сайт-1 и веб-сайт-2, а также некая библиотека MyLib.dll, в которой определён класс My >
    Рис. 7. Рисунок для задачки.

    Ещё один важный момент, который хотелось бы здесь отметить. По умолчанию каждый отдельный рабочий процесс может использовать все имеющиеся на сервере процессоры/ядра, а пул приложений работает на одном рабочем процессе и, следовательно, веб-приложение работает внутри одного IIS-приложения. Тем не менее, вы можете настроить web garden, увеличив кол-во рабочих процессов на пул и, следовательно, число IIS-приложений на одно веб-приложение. Вы без труда сможете найти на просторах интернета информацию о web garden, поэтому опускаю здесь подробности. Единственное, хотелось бы предупредить, что данное средство не является инструментом увеличения производительности, т.к. по умолчанию и так используются все вычислительные мощности сервера. Наоборот, на синхронизацию работы 2+ рабочих процессов уходил «лишнее» время CPU. Делается это в основном для увеличения доступности веб-приложения. Нельзя здесь также не упомянуть о веб-ферме (web farm), как о простейшем средстве балансировки нагрузки в IIS – об этом тоже достаточно статей в Сети. Это другой пример распределённого веб-приложения. Впрочем, с тем же nginx встроенная балансировка нагрузки в IIS конкуренции не выдерживает, и в реальных высоконагрузочных системах вам придётся изобретать свой велосипед или задействовать продукты сторонних производителей.

    3. Что дальше?

    Дальше нужно разбираться в работе модулей (в терминах IIS) и событийной модели, в которых уже происходит собственно обработка запроса, о чем упоминалось в разделе 2.4. Вообще говоря, эта тема заслуживает отдельной статьи, на которую, боюсь, меня уже не хватит. Но без этого нельзя сказать, что мы рассмотрели весь конвейер обработки запросов. Поэтому кратко пройдёмся здесь по основным моментам, которые любопытствующий читатель может проработать самостоятельно.

    Как отмечалось выше в разделе 2.4 модули IIS содержатся внутри рабочего процесса. Через них последовательно пропускается запрос (в отличие от HttpHandler-ов). Их набор и порядок определяется конфигурацией сервера и/или конкретного веб-приложения. Модули предназначены для отдельных, узконаправленных задач, таких как авторизация, кэширование, кастомное логгирование, сжатие, возврат статического контента и, конечно же, формирование HTML-страниц по заданному URL.

    Iis окно свойств «internet information services»

    Добрый день уважаемые читатели и гости блога pyatilistnik.org, в прошлый раз я вам рассказал, как производится настройка сервера на Windows Server 2020, сегодня же я хочу отойти от серверных платформ и поговорить про дополнительные возможности десктопных систем, а именно про службы iis windows 7, мы рассмотрим вопрос как их устанавливать и как администрировать. Уверен вам пригодятся знания о данной возможности.

    Службы iis windows 7

    И так, не многие пользователи операционной системы Windows 7, знают, что их любимая операционная система, по мимо стандартных функций, имеет еще и дополнительные и вполне может стать сервером на котором можно запускать свои сайты, для этого в ее состав входит такой компонент, как Internet Information Services или просто IIS. С ним я вас уже знакомил уважаемые читатели в своих постах:

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

    Для установки диспетчера iis windows 7 есть два варианта:

    • Через компоненты
    • Через powershell

    Добавление компонента Internet Information Services

    Делать мы будем это через панель управления, для этого откройте пуск и выберите пункт «Панель управления»

    Для удобства выберите отображение крупных значков.

    Найдите пункт «Программы и компоненты»

    Теперь, чтобы включить службы iis windows 7, нужно запустить компонент, делается это через соответствующее меню, оно у меня отмечено красным овалом.

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

    • Безопасность
    • Компоненты разработки приложений
    • Функции повышения быстродействия
    • Средства управления веб-сайтом
    • Общие функции HTTP

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

    Найти диспетчер IIS можно в панели управления по пути «Панель управления\Все элементы панели управления\Администрирование»

    Либо же вы можете одновременно нажать клавиши Win и R и ввести inetMgr

    Откроется все тот же диспетчер по построению сайтов.На этом все, но я вам советую почитать как создавать сайты в Internet Information Services.

    Добавление компонента через powershell

    Тут все просто откройте оснастку powershell и введите команду:

    Iis окно свойств «internet information services»

    Цель работы: установить службу IIS и настроить новый Web-узел и виртуальный каталог.

    Упражнение 1. Установка IIS

    1. Откройте приложение Добавление и удаление программ (Add Or Remove Programs) в Панели управления и щелкните Установка компонентовWindows(Add/RemoveWindowsComponents).
    2. Щелкните Сервер приложений (ApplicationServer), а затем Состав (Details).
    3. Отметьте СлужбыIIS [Internet Information Services (IIS)] и щелкните Состав(Details).
    4. Убедитесь, что (как минимум) установлены флажки Общиефайлы(Common Files) СлужбаFTP [File Transfer Protocol (FTP) Service], СлужбаWWW (World Wide WebService) и ДиспетчерслужбIIS (Internet Information Services Manager).
    5. Завершите установку.

    Упражнение 2. Подготовка образца содержимого Webузла

    1. Создайте папку ContosoCorp на диске С:.
    2. Откройте Блокнот (Notepad) и создайте файл с текстом «Welcome to Contoso». Сохраните этот файл под именем «C:\ContosoCorp\Default.htm», не забыв заключив имя файла в кавычки.
    3. Создайте второй файл с текстом «This is the site for Project 101». Сохраните этот файл под именем «C:\Docs\Project 101\Default.htm», не забыв заключить имя файла в кавычки.

    Упражнение 3. Создание Webузла

    1. Откройте консоль Диспетчер служб IIS [Internet Information Services (IIS) Manager] из группы программ Администрирование (AdministrativeTools).
    2. Щелкните узел Веб-узел по умолчанию (DefaultWebSite) правой кнопкой и выберите Остановить (Stop).
    3. Щелкните узел Веб-узлы (WebSites) правой кнопкой и выберите Создать (New)\Beб-узел (WebSite).
    4. Присвойте узлу имя Contoso и укажите путь C:\ContosoCorp. Остальные стандартные параметры можно не менять.

    Упражнение 4. Создание защищенного виртуального каталога

    Илон Маск рекомендует:  Что такое код asp getnthdescription
    Понравилась статья? Поделиться с друзьями:
    Кодинг, CSS и SQL
    Примечание.