Iis использование документации


Содержание

Развертывание веб-сайта с помощью IIS

ASP.NET — Веб-сайты ASP.NET — Развертывание веб-сайта с помощью IIS

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

Скопируйте все необходимые файлы приложения на целевой компьютер. Сверх этого делать ничего не понадобится. Однако при использовании глобальных сборок, доступ к которым осуществляется через GAC, необходимо удостовериться в их существовании. Если они не существуют, их необходимо установить с помощью утилиты командной строки gacutil.exe, входящей в состав .NET Framework.

Создайте и сконфигурируйте базу данных для приложения. Важно не только создать базу данных и ее таблицы, но и настроить учетные записи для входа на сервер базы данных и пользователей базы данных. Не забывайте, что в случае применения встроенной аутентификации для подключения к базе данных SQL Server учетную запись, под которой выполняется ASP.NET (учетная запись пула приложений или учетная запись aspnet_wp.exe), потребуется сконфигурировать в качестве пользователя базы данных приложения. Подход веб-развертывания может упростить развертывание базы данных. Если же применяется другой подход, конфигурирование и заполнение баз данных придется выполнить вручную.

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

Установите права учетной записи Windows для пользователя рабочего процесса. Пользователь, от имени которого запускается рабочий процесс (w3wp.exe), нуждается в доступе для чтения к каталогам приложения. Если приложение обращается к другим ресурсам, например, к системному реестру или к журналу событий, для учетной записи рабочего процесса понадобится сконфигурировать разрешение на доступ к этим ресурсам.

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

Сконфигурируйте ASP.NET (и настройки IIS 8.0, специфичные для приложения) в файле web.config для производственных сред. Другими словами, добавьте (или модифицируйте) любые нужные строки соединения и параметры настройки приложения, а также параметры безопасности и авторизации, параметры настройки состояния сеанса и параметры настройки глобализации.

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

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

Развертывание посредством копирования файлов

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

Подготовка IIS

Прежде чем развертывать веб-сайт, нужно подготовить IIS. Главное решение, которое нужно принять, касается места размещения содержимого и его влияния на конечный URL-адрес. Начнем с очевидного подхода — предположим, что необходимо, чтобы URL-адрес для содержимого данного примера был следующим:

IIS нужно подготовить так, чтобы было куда скопировать наш файл. В IIS Manager выберите элемент Default Web Site. Как следует из его имени, это сайт по умолчанию на сервере. Щелкните на нем правой кнопкой мыши и в контекстном меню выберите пункт Explore (Проводник), чтобы отрыть окно проводника Windows для заданного по умолчанию каталога IIS, которым является inetpub\wwwroot на системном томе (как правило, C:\).

Создайте каталог WebsiteDeployment, а в нем — каталог FileCopy (чтобы обеспечить существование пути inetpub\wwwroot\WebsiteDeployment\FileCopy). Закройте окно проводника, чтобы вернуться в IIS Manager. Щелкните правой кнопкой на записи Default Web Site и в контекстном меню выберите пункт Refresh (Обновить), чтобы увидеть новый каталог.

Веб-сайт

Для демонстрации этой методики развертывания мы создали очень простой веб-сайт. Исходный код содержит единственную форму ASP.NET с одной меткой:

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

Развертывание веб-сайта

При использовании этой методики развертывания нужно просто скопировать файлы в созданный каталог. Переместите файлы веб-сайта на сервер любым подходящим способом — посредством общего сетевого диска, съемного диска USB и т.п. — и скопируйте файлы Default.aspx и Default.aspx.cs в каталог FileCopy, созданный на сервере.

Когда файлы будут скопированы, вернитесь в окно IIS Manager на сервере, щелкните правой кнопкой на папке FileCopy в древовидном представлении и в контекстном меню выберите пункт Refresh. В нижней части экрана щелкните на кнопке Content View (Просмотр содержимого). В центральной части окна должны отобразиться два файла веб-сайта, как показано на рисунке ниже:

В этом состоит наиболее важная часть этой технологии развертывания — вначале должна быть создана структура каталогов, которая представляет необходимый URL-адрес, а затем в готовые каталоги копируются файлы веб-сайта. Посмотрим, как это выглядит на практике. Для этого выберите FileCopy в IIS Manager и щелкните на ссылке Browse (Обзор) в правой части окна. Откроется веб-браузер с загруженным URL-адресом созданной папки. Окно браузера должно выглядеть подобно показанному на рисунке ниже:

Взглянув на URL-адрес адрес, можно удостовериться в том, что был получен желаемый результат. Браузер загрузил веб-сайт из следующего адреса:

Вспомните, что localhost — это специальное имя, обозначающее текущий компьютер, а URL-адрес, в котором не указан порт, будет использовать порт 80. (В моем случае я переместил сайт на порт 8080 по причинам, указанным в предыдущей статье). Можете проверить это, направив браузер по следующему URL-адресу:

Результат будет полностью аналогичен предыдущему (professorweb в данном случае имя сервера).

Конфигурирование развертывания

Возможно, вы обратили внимание, что версией .NET Framework, о которой сообщается на рисунке выше является 4. Чтобы изменить целевую версию .NET Framework понадобится изменить параметры настойки используемого по умолчанию пула приложений. Пока не задумывайтесь о том, что собой представляют пулы приложений — они будут подробно рассматриваться позже.

В окне IIS Manager разверните элемент сервера и щелкните на элементе Application Pools (Пулы приложений). Щелкните на ссылке Set Application Pool Defaults (Определить значения по умолчанию для пула приложений) в правой части окна. В открывшемся диалоговом окне Application Pool Defaults (Значения по умолчанию для пула приложений) измените значение настройки .NET Framework Version (Версия среды .NET Framework) на необходимую:

Вернитесь в браузер и перезагрузите страницу.

IIS понадобится также указать, что развернутый сайт является приложением. Это не обязательно, но при развертывании приложений ASP.NET почти всегда будет желательным — активизируется состояние сеанса и другие функциональные средства ASP.NET. Щелкните правой кнопкой мыши на папке FileCopy в области Connections (Подключения) и в контекстном меню выберите пункт Convert to Application (Преобразовать в приложение), как показано на рисунке ниже:

Откроется диалоговое окно Add Application (Добавление приложения). Используемый пул приложений можно изменить, щелкнув на кнопке Select (Выбрать). Настроить учетную запись пользователя, которую IIS будет применять для доступа к содержимому сайта, можно с помощью кнопок Connect as. (Подкл. как. ) и Test Settings. (Тест настроек. ). Пока что просто щелкните на кнопке ОК. Возможно, придется выбрать пункт Refresh (Обновить) в меню View (Вид) (или, как это часто имеет место, закрыть и снова открыть IIS Manager), но теперь значок записи FileCopy в древовидном представлении должен измениться.

Развертывание с помощью Visual Studio

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

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

Вы можете использовать функцию Copy Web Site (Копировать веб-сайт) для передачи существующего веб-сайта в виртуальный каталог.

Вы можете использовать функцию Publish Web Site чтобы скомпилировать свой ​​сайт и передать его по новому адресу.

Создание виртуального каталога для нового веб-сайта

При создании веб-сайта в Visual Studio, вы можете одновременно создать виртуальный каталог для этого веб-сайта. Если вы сделаете это, Visual Studio не будет использовать встроенный тестовый сервер IIS Express. Вместо этого, все ваши запросы будут обрабатываться полной версией IIS.

Для создания виртуального каталога IIS сначала необходимо запустить Visual Studio с правами администратора. Затем выберите пункт меню File New Web Site и в открывшемся диалоговом окне «New Web Site» выберите HTTP для расположения сайта (вместо файловой системы). Вы можете вставить строку URL. Например, если вы укажете http://localhost/MyWebSite, Visual Studio создаст каталог MyWebSite в виртуальном каталоге C:\Inetpub\Wwwroot используемым по умолчанию:

Такой подход не является лучшим т.к. вы не сможете настроить некоторые параметры, такие как страницы по умолчанию, пользовательские ошибки и т.п. Вместо создания нового виртуального каталога с помощью Visual Studio лучше будет выбрать существующий каталог IIS, который в свою очередь можно сконфигурировать с помощью IIS Manager. Для этого щелкните по кнопке Browse (Обзор) и выберите нужный виртуальный каталог:

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

Копирование веб-сайта

Visual Studio также включает в себя быстрый и простой способ для передачи файлов веб-приложения. Вам просто нужно выбрать в меню WebSite Copy Web Site. Откроется новое диалоговое окно Visual Studio, которое покажется знакомым любому, кто имел дело с различными IDE-программами для работы с сайтами, такими как Dreamweaver или Expression Web:

Это окно состоит из двух списков файлов. Слева находятся файлы в текущем проекте (на локальном жестком диске). Справа находятся файлы на целевом месте (удаленный веб-сервер). При первом открытии этого окна вы ничего не увидите справа, потому что вы не указали цель. Вы должны нажать кнопку Connect вверху, чтобы предоставить эту информацию. При этом Visual Studio откроет знакомое диалоговое окно, которое выглядит почти так же, как то, что вы видели при создании виртуального каталога для нового проекта. В этом окне вы можете выбрать одно из мест, куда нужно копировать веб-сайт:

File System

Это самый простой выбор — вы копируете файлы сайта внутри текущей файловой системы.

Local IIS

Позволяет выбирать виртуальные каталоги локального сервера IIS. Это удобно если сайт нужно будет разместить в другом каталоге.

FTP Site

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

Эта опция предлагает подключение к сайту по URL-адресу с использованием расширения FrontPage Extensions.

Как только вы выберите соответствующий пункт назначения, нажмите кнопку Open. Visual Studio попытается подключиться к удаленному сайт и получить список файлов.

IIS 8: Начинаем работать с IIS

Посетителей: 8683 | Просмотров: 10495 (сегодня 4) Шрифт:

В недрах вашего Microsoft Server (версии 2008, 2008 R2 и 2012) глубоко скрыт самый мощный веб-сервер. Он просто ждет, чтобы вы раскрыли весь его потенциал. Является ли вашей целью запуск сайта WordPress из дома или развертывание и управление крупномасштабной, высокодоступной веб-фермой для вашей компании, IIS справится с этой задачей.

Чтобы начать работу с IIS, необходимо иметь «практический» сервер. Он должен быть таким, чтобы вы могли снова и снова нагружать его, не заботясь о последствиях. Он должен располагаться в собственной сети, надежно изолированной от производственной среды. Вы можете использовать Windows 8 на ноутбуке, но учтите возможность использования виртуальной машины (virtual machine, VM) для тестирования. Используйте Hyper-V или даже простую VM на платформе Windows Azure.

В этой и последующих статьях я буду использовать Windows Server 2012 с IIS 8. Вы также можете использовать Windows 2008 или 2008 R2 (попутно я буду указывать на важные различия в них). Вы должны создать VM в качестве контроллера домена с DNS. Также на вашей VM должна быть установлена Windows PowerShell версии 3. Если вы еще не использовали Windows PowerShell, самое время заняться этим.

Быстрая установка

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

Если вы хотите ускорить процесс и использовать Windows PowerShell, откройте административную консоль Windows PowerShell и введите:

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

1. Первое, к чему обращается большинство пользователей, — IIS Manager. Это графический инструмент, устанавливаемый в каталог Administrative Tools. С ним вы проведете немало времени, поэтому полезно запустить его. После запуска в IIS Manager в его левой части отображается навигационная панель с выбранной начальной страницей, а также информационное окно (рис. 1).
The navigation pane with the Start Page selected Навигационная панель с выбранной начальной страницей
List of recently managed Web servers, local and remote. Список управляемых в данный момент веб-серверов, локальных и удаленных.
Different connection methods to connect and manage a Web server, site or application. Различные способы соединения для подключения и управления веб-сервером, сайтом или приложением.
Get the latest news from a variety of online resources. Получить последние новости из различных интернет-ресурсов.

Рис. 1. Начальная страница IIS Manager

При выборе другого узла навигации, такого как ваш сервер, пул приложений или контейнер сайтов, инструмент изменяет свое представление и разделяется на три панели. Левая панель предназначена для подключений (Connections), центральная панель — для просмотра свойств и контента (Features View и Content View), а правая панель содержит действия (Actions) (рис. 2). Подробно исследуйте IIS Manager, но пока не вносите никаких изменений.
The navigational location of your Default Web Site container plus additional Web sites you create in the future. Навигационное расположение вашего контейнера веб-сайтов по умолчанию плюс дополнительные веб-сайты, которые вы создадите в будущем.
Feature settings to manage your Web site and Web server. This list increases as new components are added. Настройки свойств для управления веб-сайтом и веб-сервером. Этот список растет по мере добавления новых компонентов.
The Actions pane contains quick access to many management tasks. Панель действий обеспечивает быстрый доступ ко многим задачам управления.

Рис. 2. Используйте Internet Information Services (IIS) Manager для управления сервером или веб-сайтом

2. В вашу файловую систему вносятся изменения для поддержки веб-сайта по умолчанию и других потребностей хранилищ IIS, например, файлов журналов и настраиваемых сообщений об ошибках. При установке создается новый путь на основном диске: C:\inetpub (рис. 3).
C:\inetpub is created during the installation. C:\inetpub создается во время установки.
Log files and customizable error pages are located here. Файлы журналов и настраиваемые страницы ошибок располагаются здесь.
This is the location of the Web site files for the Default Web Site. Здесь располагаются файлы для веб-сайта по умолчанию.

Рис. 3. После установки IIS в файловой системе появляется несколько дополнений

Добавляется три новые службы, которые работают под управлением IIS. Вы найдете их в Services Manager в разделе Administrative Tools или с помощью командлета Windows PowerShell Get-Service:

  • AppHostSvc: Application Host Helper Service (служба поддержки узла приложений)
  • W3SVC: World Wide Web Publishing Service (служба веб-публикаций)
  • WAS: Windows Process Activation Service (служба активации Windows)

Эти службы играют огромную роль в понимании того, как работает IIS. Пока вам достаточно убедиться, что они работают. Для этого используйте следующую команду Windows PowerShell:

Вы не обязаны использовать это местоположение, когда создаете дополнительные веб-сайты. На самом деле, обычно не рекомендуется его использовать. Однако вы должны знать об этих каталогах, чтобы модифицировать веб-сайт по умолчанию и контролировать файлы журналов.
3.
4. Устанавливается новый модуль Windows PowerShell с именем WebAdministration, который содержит командлет для веб-управления. Проверить наличие этого модуля можно, введя:
Этот модуль динамически загружается в Windows PowerShell версии 3, когда вы вводите командлет. Иногда вам придется загружать этот модуль вручную, особенно, при удаленном управлении. Например:
Вы можете получить список командлетов веб-управления для этого модуля с помощью Get-Help или Get-Command:
5. Как бы ни загружался модуль WebAdministration — вручную или динамически — это приводит к запуску нового провайдера Windows PowerShell. При этом создается новый диск файловой системы с именем IIS. Вы будете использовать это для административных задач и для получения информации о своих веб-сайтах, поэтому должны импортировать модуль WebAdministration модуля и проверить наличие нового диска:

Просмотр веб-сайта по умолчанию

Рассматривайте веб-сервер и расположенные в нем сайты как обычный файловый сервер с сетевыми общими ресурсами. С помощью файлового сервера вы открываете каталог для доступа извне файловой системы и назначаете ему общее имя и разрешения пользователей к его файлам. Когда пользователь хочет открыть или использовать один из файлов, он может ввести UNC (\\ИмяКомпьютера\ИмяОбщегоРесурса) в такое приложение, как Проводник, и открыть файлы.

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

В процессе установки IIS для вас создается веб-сайт по умолчанию. Также создается новый каталог C:\inetpub\wwwroot и добавляется несколько основных файлов (веб-страницы). веб-сайт с именем «Default Web Site» создается с привязкой «*:80 (http)». Это означает, что любой HTTP-запрос в порт 80 будет передаваться веб-сайту по умолчанию. Вы можете просмотреть эту информацию в IIS Manager. Для этого также можно использовать Windows PowerShell (рис. 4).

Рис. 4. Просмотр настроек веб-сайта по умолчанию

С помощью Windows PowerShell просмотреть информацию о веб-сайте по умолчанию — и любом другом веб-сайте — можно двумя способами: используя командлет Get-Website и метод IIS: провайдер:

Метод IIS: провайдер предпочтительнее, потому что также позволяет получить краткий список всех файлов и дополнительных компонентов веб-сайта при добавлении имени веб-сайта к пути:

Тестирование веб-сайта по умолчанию

Веб-сайт по умолчанию полезен с точки зрения тестирования, поэтому не удаляйте его. Он отлично подходит для проверки, что веб-сервер работает и принимает HTTP-запросы. Чтобы протестировать веб-сайт по умолчанию, откройте браузер и введите имя сайта. В данном случае все запросы привязываются к порту 80, поэтому URL выглядит так:

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

Быть может, вы хотите заменить веб-страницу по умолчанию на что-то еще? Откройте Блокнот, введите «TechNet Rocks!» и сохраните файл под именем Default.htm в каталог C:\inetpub\wwwroot. Также можно попробовать сделать это с помощью Windows PowerShell:

Откройте браузер и введите URL веб-сайта по умолчанию, либо используйте Windows PowerShell:

Теперь у вас есть своя веб-страница на собственном веб-сервере. Вероятно, у вас возникнет много вопросов: «Могу ли я переместить веб-сайт по умолчанию? Как создавать собственные веб-сайты? Как настроить DNS для своего веб-сайта?» На все эти и многие другие вопросы я отвечу в следующих статьях про IIS.

Iis использование документации

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

По умолчанию IIS передает запросы только на определенные типы файлов для обслуживания ASP.NET. Файлы с расширениями имени файла, такими как ASPX, ASMX и ASHX, уже сопоставлены с расширением ISAPI в ASP.NET (Aspnet_isapi.dll). Это относится к IIS версии 6.0, IIS 7.0 при запуске в классическом режиме и к управляемым обработчикам в IIS 7.0 при запуске в интегрированном режиме.

Для того чтобы другие расширения имени файла передавались из IIS в ASP.NET, необходимо зарегистрировать расширения в IIS. Дополнительные сведения об участии обработчиков в жизненном цикле приложения см. в разделе Общие сведения о жизненном цикле приложения ASP.NET для IIS 5.0 и 6.0 или Общие сведения о жизненном цикле приложения ASP.NET для служб IIS 7.0 .

Сопоставление расширения имени файла в IIS версии 6.0

Откройте IIS Manager.

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

Щелкните правой кнопкой мыши имя приложения и выберите пункт Свойства .

Откройте вкладку Виртуальный каталог и выберите пункт Конфигурация .

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

Появится диалоговое окно Добавление и изменение сопоставления расширения приложению .

В поле Исполняемый файл введите имя файла Aspnet_isapi.dll или перейдите к нему. По умолчанию файл имеет следующее расположение:

Примечание.

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

В поле Расширение введите расширение имени файла, например .sample .

Примечание.

Убедитесь, что расширение имени файла указано с точкой (.).

Установите флажок Проверка наличия файла в соответствии с расширением имени файла приложения. Выберите следующие параметры:

True . Расширение имени файла представляет физический файл в приложении. В этом случае, если запрашиваемый файл не существует на диске, IIS выводит сообщение об ошибке.

False . Расширение имени файла не представляет физический файл. Вместо этого оно обрабатывается динамически классом, сопоставленным с расширением в ASP.NET.


Нажмите кнопку ОК , а затем закройте IIS Manager.

Сопоставление расширения имени файла в IIS 7.0 при запуске в классическом режиме

Откройте IIS Manager.

Примечание.

В и Windows Server 2008 если включена функция контроля учетных записей (UAC), то появится сообщение, предлагающее продолжить работу с диспетчером. Дополнительные сведения см в разделе Общие сведения о контроле учетных записей.

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

Выберите узел для приложения.

Отображается область Просмотр возможностей .

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

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

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

В диалоговом окне Добавление сопоставления сценария укажите следующие сведения:

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

Исполняемый файл. Путь к EXE- или DLL-файлу, с помощью которого будет обрабатываться запрос. При выполнении в классическом режиме следует указать расширение ISAPI в ASP.NET (Aspnet_isapi.dll).

Имя . Описательное имя.

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

Примечание.

Использование IIS Manager в IIS 7.0 для добавления пользовательского расширения обработчика равнозначно регистрации расширения обработчика в файле конфигурации приложения ASP.NET (Web.config). При регистрации элемент handler добавляется в раздел handlers группы system.webServer .

Откройте файл конфигурации приложения (Web.config).

Найдите элемент httpHandlers в разделе system.web и добавьте запись для расширения имени файла.

Примечание.

Расширение имени файла должно быть зарегистрировано как в элементе httpHandlers, так и в элементе handlers .

Сопоставление расширений имени файла в IIS 7.0 при запуске в интегрированном режиме

Выполните действия 1 – 3 предыдущей процедуры.

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

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

В диалоговом окне Добавление управляемого обработчика укажите следующие сведения.

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

Тип . Имя типа (класса) управляемого обработчика. Если обработчик определен в папке App_Code приложения ASP.NET, имя его типа появится в раскрывающемся списке.

Имя . Описательное имя.

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

Microsoft IIS 7.0 и выше

Этот раздел содержит инструкции по настройке Internet Information Services (IIS) 7.0 и более поздних версий для работы с PHP на Microsoft Windows Vista SP1, Windows 7, Windows Server 2008 и Windows Server 2008 R2. Для получения инструкций по настройке IIS 5.1 и IIS 6.0 на Windows XP и Windows Server 2003 перейдите на страницу Microsoft IIS 5.1 и IIS 6.0.

Включение поддержки FastCGI в IIS

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

Для включения поддержки FastCGI на Windows Vista SP1 и Windows 7:

В меню «Пуск» выберите пункт «Выполнить», в появившемся окне введите с клавиатуры «optionalfeatures.exe» и нажмите «Ok»;

В открывшемся окне «Компоненты Windows» раскройте папку «Службы IIS», «Службы интернета», «Компоненты разработки приложений» и установите галочку напротив «CGI»;

Нажмите OK и ждите окончания процесса установки.

Чтобы включить поддержку FastCGI на Windows Server 2008 и Windows Server 2008 R2:

В Windows откройте меню Пуск выберите пункт «Выполнить:», наберите с клавиатуры «CompMgmtLauncher» и нажмите «Ok»;

Если роль «Веб-сервер (IIS)» не представлена во вкладке «Роли», добавьте её, выбрав «Добавить роли»;

Если роль «Веб-сервер (IIS)» присутствует, выберите «Выбор службы ролей» и установите галочку напротив «CGI» в группе «Компоненты разработки приложений»;

Нажмите «Далее» затем «Установить» и ждите окончания процесса установки.

Настройка IIS для обработки PHP запросов

Скачайте и установите PHP в соответствии с инструкциями, приведёнными в описании установки

При использовании IIS рекомендуется использовать потоко-небезопасную (Non-thread-safe) сборку PHP, которая доступна по ссылке » PHP для Windows: Установочные файлы и исходный код.

Измените CGI и FastCGI настройки в файле php.ini как показано ниже:

Пример #1 CGI и FastCGI настройки в php.ini

Настройте IIS обработчик для PHP, используя Интерфейс управления IIS или через командную строку.

Использование Интерфейса управления IIS для создания обработчика PHP

Следующие шаги позволят вам создать IIS обработчик для PHP в Интерфейсе управления IIS:

В Windows меню Пуск выберите команду «Выполнить:», введите в клавиатуры команду «inetmgr» и нажмите «Ok»;

В Интерфейсе управления IIS выберите сервер в дереве «Подключения»;

На «Начальной странице» откройте «Сопоставления обработчиков»;

На вкладке «Действия» выберите «Добавить сопоставление модуля. «;

В окне «Добавление сопоставления модуля» введите следующее:

  • Путь запроса: *.php
  • Модуль: FastCgiModule
  • Исполняемый файл: C:\[Path to PHP installation]\php-cgi.exe
  • Имя: PHP_via_FastCGI

Нажмите кнопку «Ограничения запроса» и сконфигурируйте сопоставление вызывать обработчик только при сопоставлении с файлом или каталогом;

Нажмите OK во всех диалогах для сохранения конфигурации.

Использование командной строки для создания сопоставления обработчика PHP

Используйте команды приведённые ниже для создания пула процессов IIS FastCGI который будет использовать php-cgi.exe выполняемый для PHP запросов. Замените значение параметра fullPath на абсолютный путь к файлу php-cgi.exe .

Пример #2 Создание IIS FastCGI пула процессов

Настройка IIS для обработки специфических запросов PHP из командной строки показана ниже. Замените значение параметра scriptProcessor на абсолютный путь к файлу php-cgi.exe .

Пример #3 Создание сопоставления обработчика запросов PHP

Эта команда создает для IIS сопоставление обработчика для файлов с расширением *.php, который получается в результате и обрабатывается модулем FastCGI.

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

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

При использовании IIS рекомендуется включить представление FastCGI в PHP. Это контролируется директивой fastcgi.impersonate в php.ini файле. Когда имперсонация включена, PHP будет выполнять все операции с файловой системой под аккаунтом, который был определён при аутентификации IIS. Это гарантирует, что при общем PHP процессе для всех сайтов IIS, PHP скрипты этих сайтов не будут иметь доступ к файлам друг друга до тех пор, пока IIS использует различные учетные записи для каждого из сайтов.

Для примера, в настройках по умолчанию IIS 7, включена анонимная аутентификация под стандартным пользователем IUSR. Это значит, что давая разрешение IIS выполнить PHP скрипт, так же необходимо дать права на чтение этого скрипта аккаунту IUSR. Если PHP приложению необходимо выполнить запись в некоторые файлы или папки, тогда аккаунту IUSR следует дать права на запись в них.

Чтобы решить какой пользователь используется для идентификации в IIS 7, можно использовать следующие команды. Замените «Default Web Site» на имя IIS сайта, с которым вы работаете. На выходе, в XML конфигурации смотрите атрибут userName .

Пример #4 определение аккаунта, используемого IIS при анонимной идентификации

Если атрибут userName отсутствует в элементе anonymousAuthentication , или установлен как пустая строка, это значит, что удостоверение пула приложений используется как анонимное для этого веб-сайта.

Для изменения настроек доступа для файлов или папок, используйте интерфейс пользователя в проводнике Windows или команду icacls .

Пример #5 Настройка разрешения доступа к файлам

Установка index.php как документ по умолчанию в IIS

По умолчанию в IIS не установлено имя документа для обработки HTTP запросов по умолчанию. В PHP приложениях, обычно используется по умолчанию документ index.php . Чтобы добавить index.php в лист документов по умолчанию IIS, используйте такую команду:

Пример #6 Установка index.php как документ по умолчанию в IIS

FastCGI и PHP удаление конфигурации

Настройка IIS FastCGI установок для утилизации PHP процессов с помощью команд приведена ниже. Опция FastCGI instanceMaxRequests устанавливает максимальное количество запросов, которое может обрабатываться одним php-cgi.exe процессом пока IIS не начнет их отключать. PHP переменная окружения PHP_FCGI_MAX_REQUESTS устанавливает как много запросов будет обрабатывать один php-cgi.exe процесс пока сам не начнет удалять их. Конечно, значение установленное для FastCGI InstanceMaxRequests меньше или равно PHP_FCGI_MAX_REQUESTS .

Пример #7 Настройка FastCGI и PHP утилизации

Установка таймаута FastCGI

Увеличение параметра таймаута для FastCGI делается, если имеется долго выполняемый PHP скрипт. Два параметра контролируют таймаут, это: activityTimeout и requestTimeout . Используйте команды приведённые ниже для изменения настроек таймаута. Конечно, надо заменить значение параметра fullPath на полный путь к файлу php-cgi.exe .

Пример #8 Конфигурация установок таймаута FastCGI

Национальная библиотека им. Н. Э. Баумана
Bauman National Library

Персональные инструменты

IIS (Internet Information Services)

Примечание.
Internet Information Services
Разработчики: Microsoft
Постоянный выпуск: 10 / 29 July 2015 года ; 4 years ago ( 2015-07-29 )
Состояние разработки: Active
Написана на: C++ (язык программирования) [1]
Операционная система: Windows NT
Локализация: Same languages as Windows
Тип ПО: Web server
Лицензия: Part of Windows NT (same license)
Веб-сайт iis .net

IIS (англ. Internet Information Services ) является Visual Basic приложением, которое располагается на веб-сервере и отвечает на запросы браузера. Приложение IIS использует HTML для представления своего пользовательского интерфейса и использует скомпилированый код Visual Basic для обработки запросов и реагирования на события в браузере. Для пользователя приложение IIS представляется рядом страниц HTML. Для разработчика приложение IIS состоит из особого типа объекта, называемого WebClass, который в свою очередь, содержит ряд ресурсов, называемых webitems. WebClass выступает в качестве центрального функционального блока приложения, обрабатывающего данные из браузера и отправляющего информацию пользователям. Разработчик описывает ряд процедур, которые определяют, каким образом WebClass отвечает на эти запросы. webitems являются HTML-страницами и другими данными, которые WebClass может отправить в браузер в ответ на запрос.

Содержание

Архитектура

Internet Information Services (IIS) 7 и выше обеспечивает архитектуру обработки запросов, которая включает в себя:

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

Компоненты

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

Internet Information Server (IIS) имеет свой собственный ASP.NET Process Engine для обработки запроса ASP.NET. Способ настройки приложения ASP.NET зависит от того, какая версия IIS приложения используется.

Internet Information Server (IIS) включает в себя набор программ для создания и администрирования веб-приложений, поисковых систем, а также поддержку для написания веб-приложений, обеспечивающих доступ к базам данных, таким как SQL Server. IIS позволяет настроить компьютер в качестве веб-сервера и предоставляет функциональные возможности для разработки и развертывания веб-приложений ASP.NET на сервере. Кроме того, возможно установить параметры безопасности для конкретного веб-сайта для конкретных пользователей и компьютера для того, чтобы защитить его от несанкционированного доступа.

По заявлениям разработчиков, IIS повышает доступность веб-сайтов и приложений при одновременном снижении системного администрирования и стоимости развертывания. IIS 7.5 поддерживает HTTP, HTTPS, FTP, FTPS, SMTP и NNTP.

Ключевые особенности

  • Встроенные расширения
    • WebDAV и FTP
    • Фильтрация запросов
    • Модули администрирования
  • Усовершенствования управления
    • Анализатор соответствия рекомендациям
    • Windows PowerShell провайдер и cmdlets
    • Ведение журнала конфигурации и трассировки
  • Улучшения хостинга приложений
    • Управляемые учетные записи служб
    • Hostable веб-ядро
    • Трассировка неудачных запросов для FastCGI
  • Улучшения .NET поддержки для Server Core

Установка

  • Нажмите кнопку Пуск и выберите Панель управления.
  • На панели управления выберите Программы, а затем Включение и отключение компонентов Windows.
  • В диалоговом окне «Компоненты Windows» нажмите Службы IIS, а затем кнопку ОК.


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

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

  1. Войдите в систему на компьютере веб-сервера с правами администратора.
  2. Нажмите кнопку Пуск, выберите Настройка и щелкните Панель управления.
  3. Дважды щелкните значок Администрирование, а затем дважды щелкните значок Диспетчер служб Интернета.
  4. Щелкните правой кнопкой мыши веб-узел, который необходимо настроить, на левой панели и выберите команду Свойства.
  5. Перейдите на вкладку веб-узел .
  6. В поле Описание введите описание веб-узла.
  7. Введите адрес Internet Protocol (IP) для веб-узла или оставьте значение по умолчанию все (не назначено) .
  8. Измените порт протокола управления передачей (TCP), соответствующим образом.
  9. Перейдите на вкладку Домашний каталог.
  10. Чтобы использовать папку на локальном компьютере, выберите каталог на данном компьютере и нажмите кнопку Обзор, чтобы найти папку, которую требуется использовать.
  11. Чтобы использовать папку, общий ресурс с другого компьютера в сети, выберите параметр Общая папка другого компьютера и затем введите путь или нажмите кнопку Обзор, чтобы выбрать общую папку.
  12. Нажмите кнопку Чтение предоставить доступ на чтение к папке (обязательно).
  13. Нажмите кнопку ОК, чтобы принять свойства веб-сайта.

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

Чтобы создать новый веб-узел на сервере Apache, необходимо настроить виртуальный узел и настроить отдельные параметры для узла. Если используются службы IIS, можно создать новый веб-узел путем перевода следующих терминов в эквивалентные термины IIS:

Apache термин Термин IIS
Корень документа Каталог домашней страницы веб-узла IIS
Имя_сервера Заголовок узла IIS
Прослушивание IIS IP-адрес и TCP-порт

Чтобы создать новый веб-узел в IIS, выполните следующие действия:

  1. Войдите в систему на компьютере веб-сервера с правами администратора.
  2. Нажмите кнопку Пуск, выберите Настройка и щелкните Панель управления.
  3. Дважды щелкните значок Администрирование, а затем дважды щелкните значок Диспетчер служб Интернета.
  4. Щелкните Действие, выберите пункт Создать и выберите веб-узел.
  5. После запуска мастера создания веб-узла, нажмите кнопку Далее.
  6. Введите описание веб-узла. Это описание используется для идентификации веб-узла в диспетчере служб Интернета только для внутренних целей.
  7. Выберите IP-адрес для веб-узла. Если выбрать все (без значения), веб-узел будет доступен для всех интерфейсов и всех настроенных IP-адресов.
  8. Введите номер порта TCP, чтобы опубликовать на нем сайт.
  9. Введите имя заголовка узла (реальные имя, которое используется для доступа к этому узлу).
  10. Нажмите кнопку Далее.
  11. Введите путь к папке, которая содержит документы веб-узла, или нажмите кнопку Обзор, выберите папку и нажмите кнопку Далее.
  12. Укажите права доступа для веб-узла и нажмите кнопку Далее.
  13. Нажмите кнопку Готово.

Работа с консолью IIS

Работа с консолью IIS.

Сначала ознакомьтесь с оснасткой IIS Microsoft Management Console (MMC). Откройте IIS MMC посредством выбора команды Start\Administrative Tools\Internet Information Services (IIS) Manager. В MMC осуществляется настройка всех установленных компонентов IIS. Для настройки веб-сайтов служит папка Web Sites (Веб-узлы) в левой области консоли. При открытии этой папки в левой части окна отображается список всех веб-сайтов данного сервера, а в правой – основная информация о каждом из них (см. рис. 2.1).

увеличить изображение
Рис. 2.1. Веб-узлы в консоли IIS MMCКаталоги веб-сайтов

Щелкнув на имени веб-сайта в левой части окна MMC, вы увидите, как справа появится список всех его файлов и каталогов. С консолью MMC работают так же, как и с Internet Explorer. Она позволяет получить доступ к разрешениям NTFS для каталогов, однако не дает возможность настройки разрешений NTFS для файлов. С ее помощью можно выяснить, какие файлы доступны в сконфигурированных каталогах.Идентификатор веб-сайта

Первым сайтом в списке является Default Web Site (Веб-сайт по умолчанию). С каждым сайтом ассоциируется случайным образом сгенерированный идентификатор. Идентификатором сайта Default Web Site всегда является 1. Этот идентификатор используется в файле конфигурации метабазы для ссылки на данный сайт, с ним работают все интерфейсы программирования (например, WMI или ADSI).

Управление службами веб-сайта

Используемая веб-сайтами служба Windows называется World Wide Web Publishing Service. Она осуществляет управление веб-сайтами, и при ее остановке все веб-узлы будут отключены. Консоль MMC позволяет останавливать, запускать и приостанавливать работу отдельных веб-сайтов.

Для запуска, остановки или приостановки работы сайта щелкните на имени сайта, затем с помощью кнопок на панели инструментов выберите нужное действие. Эти кнопки похожи на кнопки воспроизведения, остановки и паузы на пульте управления видеомагнитофоном или DVD-проигрывателем. Столбец State (Состояние) в правой части консоли MMC отображает текущее состояние сайта – работа, остановка или приостановка.

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

Адресация сайтов

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

  • значение заголовка узла;
  • IP-адрес;
  • номер порта (не SSL-порт; он в расчет не принимается).

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

Создание виртуальных каталогов

В дополнение к физическим каталогам в MMC конфигурируются и виртуальные каталоги. Виртуальный каталог позволяет перенаправить клиента в другой каталог, адрес URL или место расположения на другом компьютере, и при этом выглядит как простой каталог.

Создание виртуального каталога является несложной процедурой.

  1. Откройте консоль IIS MMC с помощью команды Start\Administrative Tools\Interet Information Services (IIS) Manager (Пуск\Администрирование\Диспетчер IIS).
  2. В левой части окна IIS MMC выделите веб-сайт или каталог, в котором будет создаваться виртуальный каталог.
  3. Выберите команду Action\New\Virtual Directory (Действие\Создать\Виртуальный каталог).
  4. Откроется окно Virtual Directory Creation Wizard (Мастер виртуальных каталогов). Нажмите на кнопку Next (Далее).
  5. В диалоговом окне Virtual Directory Alias (Псевдоним виртуального каталога) ведите псевдоним – имя виртуального каталога, которое будет отображаться клиентам при их работе с каталогом. Нажмите на кнопку Next (Далее).
  6. В диалоговом окне Web Site Content Directory (Каталог содержимого веб-сайта) введите путь к содержимому сайта либо перейдите к нужному каталогу. При перенаправлении на URL выберите любой путь, который в случае необходимости измените позже. Нажмите на кнопку Next (Далее).
  7. В диалоговом окне Virtual Directory Access Permissions (Разрешения доступа к виртуальному каталогу) выберите необходимый уровень разрешений: Read (Чтение), Run Scripts (Выполнение сценариев), Execute (Выполнение), Write (Запись) и Browse (Обзор). Нажмите на кнопку Next (Далее).
  8. Нажмите на кнопку Finish (Готово) для завершения работы мастера.

Сохранение конфигурации веб-сайта в файле

После настройки веб-сайта сохраните ее в файле метабазы XML конфигурации сайта. На базе сохраненной конфигурации вы сможете создавать аналогичные сайты на других серверах без перенастройки всех параметров. Также сохраните виртуальные каталоги, сайты FTP и пулы приложений.

  1. В консоли IIS MMC выделите сайт, который нужно сохранить.
  2. Выберите команду Action\All Tasks\Save Configuration To A File (Действие\Все задачи\Сохранить конфигурацию в файле).
  3. В диалоговом окне Save Configuration To A File (Сохранение конфигурации в файле) введите имя файла для сохранения настроек.
  4. Введите место расположения (или перейдите к существующему месту расположения с помощью кнопки Browse [Обзор]) для сохранения данной конфигурации.
  5. Укажите необходимость шифрования экспортного файла. Поскольку он является метабазой XML и содержит информацию, доступ к которой других пользователей нежелателен, рекомендуется установить шифрование.
  6. При использовании шифрования выберите пароль для защиты содержимого.
  7. Нажмите на кнопку OK.

Создание нового сайта

На сервере можно создать несколько сайтов, если каждый из них будет уникальным. Для создания нового сайта используйте Web Site Creation Wizard (Мастер создания веб-сайтов) или файл, сохраненный для другого веб-сайта.

Для создания нового сайта с помощью Web Site Creation Wizard (Мастер создания веб-сайтов) выполните следующие действия.

  1. Выделите Web Sites (Веб-узлы) в левой части панели MMC.
  2. Выберите команду Action\New\Web Site (Действие\Создать\Веб-узел).
  3. В окне Web Site Creation Wizard (Мастер создания веб-сайтов) нажмите на кнопку Next (Далее).
  4. Введите описание сайта – дружественное информативное имя, несущее определенную информацию, с помощью которого сайт легко идентифицируется в консоли MMC.
  5. Введите IP-адрес, порт TCP и (необязательно) Host Header Name (Имя заголовка узла). Значение All Unassigned настроит сайт на использование любого IP-адреса, не занятого другим сайтом. На порте протокола TCP может единовременно выполняться только один сайт (All Unassigned).
  6. Нажмите на кнопку Next (Далее).
  7. Введите имя каталога для нового сайта (или перейдите к нему).
  8. Укажите, следует ли разрешить анонимный доступ к сайту. Нажмите на кнопку Next (Далее).
  9. Выберите уровень разрешений для нового сайта: Read (Чтение), Run Scripts (Выполнение сценариев), Execute (Выполнение), Write (Запись) и Browse (Обзор).
  10. Нажмите на кнопку Next (Далее), затем на кнопку Finish (Готово) для завершения работы мастера.

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

Ниже приведены действия по созданию нового сайта с помощью файла.

  1. Выделите Web Sites (Веб-узлы) в левой части панели MMC.
  2. Выберите команду Action\New\Web Site (From File) (Действие\Создать\Веб-узел [из файла]).
  3. В диалоговом окне Import Configuration (Импорт конфигурации) введите имя файла или перейдите к нужному файлу конфигурации.
  4. Нажмите на кнопку Read File (Просмотр) для просмотра конфигурации, находящейся в файле. Ее описание появится в секции Location (Расположение) внизу окна.
  5. В секции Location выделите конфигурацию для импортирования, затем нажмите на кнопку OK.
  6. Если такой сайт уже существует, вам будет предложено либо создать новый сайт, либо заменить существующий.
  7. При создании нового сайта он получит то же самое имя и конфигурацию, но другой идентификатор.
  8. Нажмите на кнопку OK для завершения создания сайта и закрытия окна.

Доступ ко вкладкам конфигурации

Для получения доступа ко вкладкам свойств и настроек глобальных веб-сайтов, веб-сайтов, каталогов или файлов, отображаемых в левой части окна консоли MMC, щелкните правой кнопкой на объекте, затем выберите Properties (Свойства). В окне Properties расположены вкладки конфигурации для каждой иерархической ступени. Ниже приводится их описание. Начнем с уровня веб-сайта, так как здесь содержится больше всего вкладок, и он чаще всего используется.

Вкладки свойств веб-сайта

Для открытия окна Properties (Свойства) отдельного веб-сайта щелкните правой кнопкой мыши на его имени в левой части консоли MMC и выберите Properties. Рассмотрим вкладки с информацией, которые отображаются при доступе к свойствам сайта BeerBrewers (Пивовары).

Вкладка Web Site (Веб-узел)

При открытии окна Properties (Свойства) для любого веб-сайта по умолчанию отображается вкладка Web Site (Веб-узел) (см. рис. 2.2). В ней вводится адрес IP и информация о портах, а также настраивается время простоя соединения и ведение журнала. Во вкладке Web Site необходимо настроить следующие опции.

Рис. 2.2. Вкладка Web Site (Веб-узел)

Создание описания

Информация, введенная в поле Description (Описание), отображается в столбце Description консоли IIS MMC. В этом поле можно определить веб-сайт, указав информативное имя. Это имя скрыто от пользователей веб-сайта.

Настройка адреса для веб-сайта

Каждый веб-сайт должен иметь уникальный адрес для передачи ассоциированного с ним трафика. Выделить веб-сайт среди других можно тремя способами: посредством IP-адреса, TCP-порта и имени заголовка узла. С точки зрения адресации возможно использование любой комбинации этих данных, но хотя бы одна комбинация должна быть уникальной для компьютера, на котором располагается сайт.

IP-адрес (IP-адрес). Позволяет установить главный IP-адрес для веб-сайта. Выберите IP-адрес в ниспадающем меню либо введите его вручную. Выбор варианта (All Unassigned) позволяет настроить веб-сайт на соответствие любому IP-адресу компьютера, не занятому другим веб-сайтом.

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

Порт TCP (Порт TCP). Указывается номер порта, на котором сайт будет ожидать приема данных. Задайте любой порт, не используемый другой службой. Если вы укажете уже занятый порт, IIS не посчитает это ошибкой. Однако в дальнейшем вероятно возникновение проблем в работе использующей порт службы.

Например, для веб-сайта указан порт 25, в результате чего возник конфликт со службой Simple Mail Transfer Protocol (SMTP), работающей на том же компьютере и использующей тот же порт. При поступлении к порту 25 данных компьютер не будет знать, какой службе они предназначаются. В большинстве случаев, поскольку служба SMTP устанавливается раньше, веб-запрос отправится к ней и, следовательно, не будет обработан. При выборе номера порта, отличающегося от 80, необходимо убедиться, что он не используется другой службой.

По умолчанию веб-браузер всегда ожидает поступление данных по порту 80, если в поле адреса не указан другой порт. При изменении номера порта клиенты должны добавлять к адресу URL номер порта, чтобы браузер отправлял запросы к веб-серверу по этому порту. Например, при изменении порта ожидания данных на 1500 клиенты должны указать адрес http://www.beerbrewers.com:1500 вместо обычного http://www.beerbrewers.com.

Порт SSL (Порт SSL). Указывается порт, по которому к веб-сайту поступают данные Secure Sockets Layer (Протокол защищенных сокетов). SSL позволяет шифровать и/или аутентифицировать данные при их передаче между клиентом и сервером (см. лекцию 10).

Как и в предыдущем случае, при изменении стандартного номера 443 этого порта клиенты должны добавлять номер порта к адресу URL для открытия веб-сайта. Например, при изменении номера порта на 1543 клиенты для доступа к сайту должны указать адрес https://www.beerbrewers.com:1543 вместо https://www.beerbrewers.com.

Аdvanced (Дополнительно)

При нажатии на кнопку Advanced (Дополнительно) открывается окно Advanced Web Site Configuration (Дополнительная настройка веб-сайта), в котором настраиваются дополнительные адреса и идентификаторы. Дополнительные идентификаторы позволяют пользователям осуществлять доступ к сайту по нескольким адресам. Такой подход применяется, если нужно направить пользователей, вводящих URL одного сайта, на другой сайт этого же компьютера без использования DNS (Системы доменных имен). (Более подробная информация приведена в лекции 8). В окне Advanced Web Site Configuration указываются имена заголовков узла, чтобы нескольких веб-сайтов могли использовать один и тот же IP-адрес и порт.

О заголовках узлов. Заголовки узлов позволяют отделять один адрес веб-сайта от другого. Обычно они служат для настройки разных веб-сайтов на использование одного и того же IP-адреса и порта. Заголовок узла представляет собой полное имя DNS, вводимое в адресной строке браузера для открытия сайта. Заголовки узлов позволяют экономить адресное пространство при наличии одного доступного IP-адреса. При запросе страницы веб-браузером HTTP 1.1 первая часть запроса выглядит следующим образом.

Часть кода после Host является именем заголовка узла – www.mywebsite.com. IIS использует его для отправки сообщения соответствующему веб-сайту.

Имена заголовков узлов впервые появились в протоколе HTTP 1.1, и все браузеры, совместимые с HTTP 1.1, работают с ними. Более старые версии браузеров не передают заголовок узла и для любого IP-адреса всегда выполняют переход к веб-сайту по умолчанию.

Совет. Для поддержки старых версий браузеров можно создать стандартную страницу для IP-адреса со списком веб-сайтов и использовать элементы cookie для направления на эти сайты клиентов. Версии Internet Explorer, начиная с четвертой, и версии Netscape, начиная с 3, поддерживает заголовки узлов, поэтому не будем заострять внимание на этом вопросе. Более полная информация о поддержке старых версий браузеров находится на сайте Microsoft.

Примечание. Имена заголовков узлов являются частью протокола HTTP 1.1, поэтому их нельзя использовать на сайтах FTP, почтовых и новостных сайтах в IIS. При создании несколько сайтов на одном сервере следует получить несколько IP-адресов или использовать различные порты. Заголовки узлов недоступны и в случае работы с протоколом защищенных сокетов (SSL), так как заголовок находится в зашифрованном запросе.

Добавление дополнительного тождественного идентификатора. Одному и тому же веб-сайту можно присвоить несколько адресов. Сайт будет отвечать на запросы, поступающие по каждому отдельному адресу и по всем сразу. Каждый адрес, ассоциированный с веб-сайтом, называется тождественным идентификатором. Для создания дополнительного тождественного идентификатора веб-сайта нажмите на кнопку Add (Добавить) в секции Web Site Identification (Идентификация веб-сайта) во вкладке Web Site (Веб-узел). Откроется диалоговое окно Advanced Web Site Identification (Дополнительная идентификация веб-узла) (см. рис. 2.3).

Рис. 2.3. Диалоговое окно Advanced Web Site Identification (Дополнительная идентификация веб-узла)

Каждый тождественный идентификатор должен быть уникальным и использовать один из трех адресов (IP-адрес, порт TCP или значение заголовка узла). Введите любой правильный IP-адрес, порт или имя заголовка узла. Как и в случае с полем IP Address вкладки Web Site (Веб-узел), система не проверяет наличие этого адреса на компьютере, поэтому вводите любой разрешенный адрес. Не забывайте, что будет мало пользы, если в дальнейшем ваш сайт нельзя будет отыскать по указанному адресу.

Удаление тождественных идентификаторов. Для удаления тождественного идентификатора выделите его и нажмите на кнопку Remove (Удалить). Все тождественные идентификаторы сайта в этом окне удалить нельзя, поэтому кнопка OK будет недоступна.

Редактирование тождественных идентификаторов. Для изменения тождественного идентификатора выделите его и нажмите на кнопку Edit (Изменить).

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

Добавление тождественных SSL-идентификаторов. Для добавления дополнительного идентификатора SSL веб-сайту нажмите на кнопку Add (Добавить). Можно добавить несколько идентификаторов; просто помните о том, что сертификаты SSL базируются на имени сайта, а не на IP-адресе. Любой указываемый IP-адрес должен обрабатываться через имя DNS. При попытке доступа через IP-адрес сайт будет недоступен.

Удаление тождественных SSL-идентификаторов. Для удаления тождественного идентификатора SSL с веб-сайта выделите его и нажмите на кнопку Remove (Удалить). Нельзя удалить все тождественные SSL-идентификаторы.

Изменение тождественных SSL-идентификаторов. Для изменения тождественного идентификатора SSL веб-сайта выделите его и нажмите на кнопку Edit (Изменить).

Лимит времени соединения

Параметр Connection Timeout (Лимит времени соединения) во вкладке Web Site (Веб-узел) задает промежуток времени в секундах, в течение которого сервер поддерживает для клиента открытое соединение. Как правило, браузер отправляет на сервер запрос, чтобы оставить соединение открытым. Данный процесс называется поддержкой соединения НTTP (keep-alive). Клиент использует открытое соединение для нескольких запросов, причем ни клиенту, ни серверу не нужно повторно устанавливать соединение для каждого запроса. Это сильно повышает производительность, особенно для низкоскоростных соединений. При завершении работы с запросами клиент сообщает серверу о том, что соединение можно закрыть и освободить занимаемые ресурсы.

Предположим, по какой-то причине клиент не закрыл соединение. Оно останется открытым бесконечно долго, если не сообщить серверу о необходимости его закрытия. Значение Connection Timeout (Лимит времени соединения) предназначено как раз для установки этого интервала времени.

Включение функции поддержки соединения HTTP

Опция Enable HTTP Keep-Alives (Включить поддержку соединения HTTP) включена по умолчанию, что позволяет серверу принимать запросы HTTP keep-alive от клиентов. При отключении опции резко снижается производительность и клиента, и сервера.

Включение журнала

По умолчанию на веб-сайтах включено ведение журналов. Стандартным типом журнала является W3C Extended Log File (Расширенный файл журнала W3C). В окне можно отключить ведение журнала или изменить его тип. О ведении журналов подробно рассказывается в лекции 11.

Вкладка Performance (Производительность)

Во вкладке Performance (Производительность) окна Web Site Properties (Свойства веб-узла) (см. рис. 2.4) настраивается управление полосой пропускания и количество подключений сайта.

Рис. 2.4. Вкладка Performance (Производительность)

Управление полосой пропускания

С помощью параметра Bandwidth Throttling (Управление полосой пропускания) настраивается максимальная пропускная способность канала связи (Кб/с). Для настройки параметра требуется программа Windows Packet Scheduler (приложение QOS – Quality Of Service), определяющая возможность отправки пакета по сети. Программа ставит данные в очередь и отправляет по сети с указанной скоростью. IIS автоматически инсталлирует Windows Packet Scheduler после задания максимального значения полосы пропускания и нажатия на кнопку OK.

При настройке данного параметра помните, что пропускная способность канала связи локальной сети имеет значения 10, 100 или 1000 Мб/с, а скорость работы в сети интернет, как правило, намного ниже. Например, полный канал T1 обеспечивает скорость 1,544 Мб/с. Если принятое значение по умолчанию равно 1024 Кб, то оно будет намного больше скорости канала T1.

Примечание. 1 байт равен 8 битам. 1 Килобайт равен 8192 битам.
Подключения веб-сайта

Переключатели Web Site Connections (Подключения веб-сайта) позволяют настроить количество подключений клиентов для данного сайта. Значение по умолчанию – Unlimited (Не ограничено). При выборе Connections Limited To (Ограничить число подключений) укажите любое количество подключений – от 0 до 2 000 000 000.

Вкладка ISAPI Filters (фильтры ISAPI)

Во вкладке ISAPI Filters (Фильтры ISAPI) (см. рис. 2.5) можно добавить фильтры ISAPI для сайта. Весь трафик HTTP, направляемый к сайту, будет передаваться фильтрам ISAPI в установленном здесь порядке. Расширение ISAPI применимо только к тому расширению, с которым оно связано, а фильтр ISAPI применим ко всему трафику сайта. Это может вызвать значительный спад производительности сайта, особенно при неправильном написании фильтра ISAPI, допускающем потерю ресурсов памяти. (Более подробная информация о технологии ISAPI приведена в лекции 5 курса «Программирование в IIS».)

Рис. 2.5. Вкладка ISAPI Filters (Фильтры ISAPI)

Фильтр ISAPI имеет определенное состояние. Направленная вниз красная стрелка означает, что фильтр в данный момент отключен. Направленная вверх зеленая стрелка означает, что фильтр включен.

Добавление фильтра ISAPI

Для добавления фильтра ISAPI нажмите на кнопку Add (Добавить), присвойте фильтру имя, а затем выберите исполняемый файл, с помощью которого будет производитьсяфильтрация трафика. Имя фильтра должно быть дружественным, удобным для использования.

Удаление фильтра ISAPI

Для удаления фильтра ISAPI выделите фильтр и нажмите на кнопку Remove (Удалить).

Изменение фильтра ISAPI

Для изменения фильтра ISAPI выделите фильтр и нажмите на кнопку Edit (Изменить). Имейте в виду, что можно только редактировать исполняемый файл, на который указывает фильтр. Имя фильтра изменять нельзя.

Включение и выключение фильтра ISAPI

Если фильтр в настоящий момент является активным, его можно отключить, выделив имя фильтра и нажав на кнопку Disable (Отключить). Если фильтр в настоящий момент отключен, его можно включить, выделив имя фильтра и нажав на кнопку Enable (Включить). Отключение фильтра позволяет приостановить его работу без удаления из списка фильтров.

Изменение порядка выполнения

При использовании нескольких фильтров ISAPI, как правило, они выполняются в определенном порядке. Этот порядок задается в данном окне. Для повышения приоритета фильтра в списке выделите его имя и нажмите на кнопку Move Up (Вверх). Для понижения приоритета фильтра в списке выделите его имя и нажмите на кнопку Move Down (Вниз).

Вкладка Home Directory (Домашний каталог)

Во вкладке Home Directory (Домашний каталог) (см. рис. 2.6) указывается место расположения данного сайта и то, как он осуществляет обработку данных.


Указание IIS на место расположения содержимого сайта

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

A Directory Located on This Computer (Каталог на этом компьютере). Выберите данную опцию, затем в поле Local Path (Локальный путь) задайте любой логический диск и каталог, в котором находится содержимое сайта. Кнопка Browse (Обзор) поможет перейти к нужному каталогу или вести путь в поле.

Рис. 2.6. Вкладка Home Directory (Домашний каталог)

A Share Located on Another Computer (Ресурс на другом компьютере). При выборе данной опции изменится текст вкладки Home Directory. Текстовое поле Local Path (Локальный путь) будет называться Network Directory (Сетевая папка), кнопка Browse (Обзор) – Connect As (Подключить как). Введите путь согласно правилам соглашения об универсальном назначении имен (Universal Naming Convention, UNC) в виде \\имя_сервера\имя_расположения. Нажмите на кнопку Connect As и задайте имя пользователя и пароль, используемые IIS для подключения к указанному месту, в диалоговом окне Network Directory Security Credentials (Мандаты безопасности сетевого каталога). Если сервер не зарегистрирован в системе, то у него нет маркера доступа к общим сетевым ресурсам. А введенное имя пользователя и пароль позволят IIS проходить аутентификацию.

IIS может использовать имя пользователя и пароль, указываемые клиентом при аутентификации на сайте. Для этого выберите опцию Always Use The Authenticated User’s Credentials When Validating Access To The Network Directory (Всегда использовать мандаты аутентифицированного пользователя при подтверждении доступа к сетевой папке) в диалоговом окне Network Directory Security Credentials. Если пользователю не разрешен доступ к удаленному сетевому ресурсу, то он не получит доступа и к ресурсам IIS.

Перенаправление на URL. При выборе опции появляется текстовое поле Redirect To (Перенаправлять на). Укажите в нем адрес URL, на который будут переходить клиенты при подключении к данному ресурсу. Отметьте одну из опций.

  • The Exact URL Entered Above (Точный URL, указанный выше). Перенаправляет клиента на адрес URL, указанный в поле Redirect To (Перенаправлять на). В поле должен быть указан полный и достоверный адрес URL.
  • A Directory Below URL Entered (Папка, находящаяся под указанным URL). Перенаправляет клиента в дочернюю папку под родительским каталогом, указанным клиентом в браузере. При выборе этой опции следует просто ввести имя подкаталога с префиксом в виде слеша (/).
  • A Permanent Redirection For This Resource (Постоянное перенаправление на этот ресурс). Используется при перемещении сайта с одного URL на другой. Она передает клиенту сообщение «HTTP 301 Permanent Redirect». Некоторые клиенты после получения этого сообщения автоматически обновляют свои закладки.
Параметры домашнего каталога

При выборе переключателей A Directory Located on This Computer (Каталог на этом компьютере) или A Share Located on Another Computer (Ресурс на другом компьютере) открывается доступ к указанным ниже опциям. Помните о том, что IIS базируется на файловых системах, поэтому при работе с разрешениями аутентифицированный (или анонимный) пользователь должен иметь соответствующие права.

Опция Script Source Access (Доступ к исходным кодам сценариев). При включении опции клиенты получают доступ к исходному коду сценариев (Active Server Pages, ASP) при установке соответствующих разрешений на чтение/запись. Поскольку обработка сценариев происходит на серверной части, не открывайте клиенту доступ к их исходному коду и оставьте опцию отключенной.

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

Опция Write (Запись). При включении опции клиентам с браузерами HTTP 1.1, поддерживающими функцию PUT, разрешается отгружать файлы в данный каталог.

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

Опция Directory Browsing (Просмотр каталогов). При включении опции клиенты получают разрешение на просмотр каталогов, а, следовательно, и всех его файлов. Если существует страница по умолчанию, то она отобразится клиенту. В противном случае клиент увидит перечень всех файлов и каталогов, кроме виртуальных, поскольку их нет в файловой системе. Включение опции представляет угрозу безопасности, так как любой пользователь получает возможность просмотра файловой структуры сайта.

Опция Log Visits (Вести журнал посещений). При включении опции все посещения данного каталога записываются в журнал, если IIS ведет журнал.

Опция Index This Resource (Индексировать этот ресурс). При включении опции каталог будет проиндексирован службой Microsoft Indexing Service (Служба индексации Microsoft), если она установлена и включена.

Параметры приложений

В секции Application Settings (Параметры приложений) настраиваются параметры приложений для определения их границ. При создании приложения можно указать, что оно выполняется в созданном вами пуле приложений. Это позволяет отделить приложения друг от друга и настроить рабочие процессы для работы с проблемными приложениями, сценариями или содержимым, которое следует изолировать.

Application Name (Имя приложения). Задается имя создаваемого приложения. Если текстовое поле затемнено и доступна кнопка Create (Создать), это означает, что приложение еще не создано. Если доступна кнопка Remove (Удалить), то для данного каталога определено приложение, и в текстовом поле Application Name отображается его имя.

Execute Permissions (Разрешения на выполнение). Задается тип содержимого, разрешенного на данном сайте.

  • None (Нет). Значение по умолчанию для IIS 6. Представляет собой значительное изменение в готовой конфигурации IIS. В предыдущих версиях разрешалось выполнение сценариев (таких как ASP) при стандартной установке IIS. Это вызывало проблемы, тем более что IIS устанавливался по умолчанию при инсталляции Windows, и, следовательно, Windows была настроена и на выполнение IIS, и на выполнение его сценариев. Теперь отключение сценариев в стандартной установке обеспечивает наиболее безопасную конфигурацию IIS по умолчанию.
  • Scripts Only (Только сценарии). Разрешает выполнение на сайте сценариев ASP. Опцию следует включать только при необходимости, поскольку она позволяет исполнять любые типы сценариев.
  • Scripts And Executables (Сценарии и исполняемые файлы). Разрешает выполнение на сайте сценариев и исполняемых файлов. Под категорию исполняемых файлов попадают файлы ( .exe ), динамически подсоединяемые библиотеки ( .dll ) и сценарии общего шлюзового интерфейса ( .cgi ). Опцию следует включать только при необходимости, поскольку она открывает доступ к файлам любого типа и позволяет их выполнять.

Предупреждение. Убедитесь, что разрешения Write (Запись) NTFS и Write (Запись) IIS отключены в каталогах, для которых не установлено None (Нет) в разрешениях на выполнение.

Application Pool (Пул приложений). Служит для указания того, в каком пуле приложений будет выполняться содержимое сайта. Этот список заполняется данными из пулов приложений, созданных в IIS MMC. Поле будет затемнено, если для домашнего каталога еще не определено приложение.

Unload (Выгрузить)

С помощью кнопки Unload (Выгрузить) изолированное приложение выгружается из памяти. Если приложение загружено в память, и в конфигурацию вносится изменение, то необходимо его выгрузить для вступления изменения в силу. Если кнопка недоступна, то это значит, что приложение не загружено в память, или вы находитесь не в стартовом каталоге приложения.

Configuration (Настройка)

С помощью кнопки Configuration (Настройка) изменяются параметры конфигурации приложения для каталога. В появившемся окне Application Configuration (Настройка приложения) (см. рис. 2.7) можно настроить некоторые параметры взаимодействия домашнего каталога со сценариями и исполняемым содержимым.

Рис. 2.7. Окно Application Configuration (Настройка приложения)

В окне Application Configuration имеются следующие вкладки.

Вкладка Mappings (Типы файлов). В ней указываются связи расширений файлов с библиотеками DLL ISAPI. По умолчанию указываются все библиотеки ASP ( .asa, .asp,.cdx, .cer ), подключатели к базам данных ( .idc ) и включения серверной части ( .shtm, .shtml, .stm ). При поступлении запроса с помощью этого списка выясняется, какой библиотеке DLL следует передать содержимое в зависимости от расширения запрашиваемого файла.

Если включена опция Cache ISAPI Extensions, то библиотеки ISAPI DLL кэшируются в память, и IIS обрабатывает запросы для ассоциированных расширений без повторной загрузки DLL. Это повышает производительность большинства приложений ISAPI, включая ASP. По умолчанию опция включена, и настоятельно рекомендуется не выключать ее. При отключении опции IIS будет загружать ASP.DLL и создавать объекты состояния приложения и сеанса при каждом запросе страницы ASP. После обработки запроса IIS немедленно выгружает ASP.DLL. Если клиент запросит страницу ASP в процессе выгрузки приложения, то может возникнуть ошибка. Как правило, опция отключается только при тестировании кода ISAPI.DLL, когда каждый раз требуется перезагрузка

Возможно добавление собственных библиотек ISAPI.DLL и назначение для них связей. Для добавления и настройки библиотеки DLL выполните следующие действия.

  1. Нажмите на кнопку Add (Добавить). Появится диалоговое окно Add/Edit Application Extension Mapping (Добавить/Изменить связь расширения с приложением).
  2. Введите имя исполняемого файла (или перейдите к нему), который будет обрабатывать содержимое.
  3. Введите имя расширения. Ставить точку перед расширением не обязательно.
  4. Укажите, следует ли передавать приложению только определенные команды HTTP или же все. Для ограничения набора команд введите разрешенные команды через запятую.
  5. Оставьте отмеченными опции Script Engine (Машина сценариев) и Verify That File Exists (Проверка существования файла), если нет оснований для их отключения. Далее мы расскажем об их назначении.

Limiting HTTP Verbs (Ограничить команды HTTP). HTTP-клиенты используют команды для запросов на действия сервера. Эти команды (методы) определяются в спецификации W3C для HTTP. Наиболее общими являются методы GET, HEAD, POST и TRACE, хотя используются также PUT и DELETE. Рекомендуется ограничить набор команд для уменьшения уязвимости к атакам. Например, связывание с файлами ASP ограничивает набор командами GET, HEAD, POST и TRACE. При наличии ограничения приложению для обработки будут передаваться только команды, находящиеся в списке.

    • Script Engine (Машина сценариев). Опция включена по умолчанию. В этом случае IIS будет обрабатывать содержимое как сценарий, а не исполняемый файл, что исключает включение разрешений выполнения для каталога, поскольку сценарии связаны с интерпретатором.
    • Verify That File Exists (Проверка существования файла). При включенной опции IIS проверяет наличие файла сценария и право пользователя на работу с файлом перед отправкой интерпретатору. Так как каждый сценарий открывается дважды (один раз для проверки и один раз для чтения и отправки машине сценариев), то включение опции приводит к снижению производительности. В IIS 5 опция отключена по умолчанию, и, как и многие другие опции, отключена в IIS 6 в целях безопасности.
Примечание. Даже при связывании и включении расширений ISAPI они могут не работать, если в разрешениях домашнего каталога не выбрана опция Scripts Only (Только сценарии). В этом случае для успешной обработки содержимого включите разрешение Scripts And Executables (Сценарии и исполняемые файлы).
Для изменения связи приложения с расширением выделите расширение и нажмите на кнопку Edit (Изменить). Появится такое же окно, что и после нажатия на кнопку Add (Добавить), с идентичными опциями.
Для удаления связи приложения с расширением выделите расширение и нажмите на кнопку Remove (Удалить), затем подтвердите удаление.
Групповой символ используется при установке связи приложения ISAPI со всеми файловыми расширениями. Возникает вопрос, почему бы просто не применить фильтр ISAPI. Между фильтром ISAPI и связью приложения с помощью группового символа существуют некоторые различия. На уровне администрирования фильтры ISAPI применяются ко всему веб-сайту в целом, а расширения ISAPI конфигурируются для отдельных каталогов. Подкаталог наследует групповые связи с расширениями от родительского каталога, если не содержит свои собственные (в этом случае родительские связи игнорируются).
Для добавления связи приложения нажмите на кнопку Insert (Добавить). Затем введите имя исполняемого файла (или перейдите к нему) для обработки содержимого. Опция Verify That File Exists (Проверить существование файла) действует так же, как и для связей с расширениями, и является мерой безопасности.
Для изменения связи приложения выделите расширение и нажмите на кнопку Edit (Изменить). Появится окно Add (Добавить) с аналогичными опциями.
Для удаления связи приложения выделите расширение и нажмите на кнопку Remove (Удалить), затем подтвердите удаление.
Кнопки Move Up (Вверх) и Move Down (Вниз) устанавливают приоритет связи приложений ISAPI. Запросы будут передаваться через заданные связи с приложением в установленном здесь порядке.

Вкладка Options (Параметры). Вкладка Options (см. рис. 2.8) служит для настройки конфигурации приложения, машины сценариев, определения способа поддержки сеансов.

Опция Enable Session State (Включить состояние сеанса) настраивает ASP на создание сеанса серверной части для каждого клиентского сеанса на сервере. Такой подход применяется только для обычных сценариев ASP, так как состояние сеанса настраивается в файле web.config для приложений ASP.NET. В сеансе сохраняются данные о пользователе, переходящие на каждую посещаемую им страницу. В программе эти данные хранятся в переменных в объекте сеанса. Сеансовые переменные могут занимать значительный объем памяти, поэтому не рекомендуется использовать их в большом количестве на сайтах с высоким уровнем трафика, чтобы не снижать производительность.

Параметр Session Timeout (Время простоя сеанса) определяет промежуток времени, в течение которого сеанс находится в состоянии бездействия перед закрытием. Укажите любое значение от 1 до 2 000 000 000 минут. Кто знает, возможно сеансовая переменная понадобится вам через 3800 лет.

Рис. 2.8. Вкладка Options (Параметры) окна Application Configuration (Настройка приложения)

Совет. Не торопитесь использовать состояния сеанса, если вы работаете с веб-структурой ASP или применяете рециркуляцию рабочих процессов. В веб-структуре ASP при подключении к веб-сайту пользователь может всякий раз попадать на другой сервер. Поскольку состояние сеанса создается на другом сервере (не там, где в данный момент зарегистрирован пользователь), информация о состоянии сеанса теряется. Это происходит и при рециркуляции рабочего процесса, содержащего информацию о сеансе. Вследствие этого рекомендуем вам либо отказаться от использования состояния сеанса, либо применять ASP.NET.
Отметьте опцию Enable Buffering (Включить буферизацию) для настройки сервера на кэширование всего выходного содержимого сценария ASP перед его отправкой браузеру. Опция отправляет выходные данные единовременно, а не строка за строкой. Однако в случае обработки большого сценария нужно отобразить страницу сразу после обработки содержимого, поэтому данная опция должна быть отключена.
Родительские пути позволяют устанавливать ссылки на каталоги с использованием относительных имен путей в коде ASP. Путь к сценарию в родительском каталогеобозначается двумя точками («..»). Это относится только к динамическому содержимому, такому как файлы включений. К статическому содержимому можно обратиться посредством относительных путей. Опция Enable Parent Paths (Включить родительские пути) отключена по умолчанию в целях безопасности, поскольку динамическое содержимое можно выполнить на этой же странице без указания структуры каталогов для перехода в нужное место.
Примечание. В IIS 6 родительские пути отключены по умолчанию. Если в вашем коде имеются относительные пути, и этот код раньше выполнялся в IIS 5, то нужно или изменить код, или отметить опцию Enable Parent Paths (Включить родительские пути), чтобы динамическое содержимое выполнялось в IIS 6.
Опция Default ASP Language (Язык ASP по умолчанию) определяет язык, обрабатывающий содержимое сценариев. Содержимое сценариев обозначается тегами . С IIS 6 поставляются два языка: Microsoft Visual Basic Scripting Edition (по умолчанию) и Microsoft JScript. Установите любую машину сценариев ActiveX для интерпретации содержимого на сайте.
Опция ASP Script Timeout (Срок выполнения сценария) указывает максимальный промежуток времени для выполнения сценария. Если опция отключена, то неграмотно написанный сценарий может выполняться бесконечно долго и вызовет проблемы на сервере. По окончании заданного времени сценарий останавливается, обработанное содержимое передается браузеру с сообщением об ошибке, в котором говорится о достижении временного предела. Укажите любой интервал от 1 до 2 000 000 000 с (это 63 года!).
Опция Enable S >Вкладка Debugging (Отладка). Вкладка Debugging окна Application Configuration (Настройка приложения) (см. рис. 2.9) помогает в решении проблем при тестировании кода сценариев ASP. При включении опции IIS использует Microsoft Script Debugger (Отладчик сценариев Microsoft) для проверки кода. IIS настраивается на отладку сценариев как серверной, так и клиентской частей. Включение сценариев серверной части отрицательно сказывается на производительности, поэтому пользуйтесь этим только при необходимости. Можно настроить сообщение, передаваемое клиентам при возникновении ошибки в сценарии.

Рис. 2.9. Вкладка Debugging (Отладка)

  • Enable ASP Server-Side Script Debugging (Включить отладку сценариев серверной части). Включение опции настроит IIS на использование отладчика сценариев для проверки кода в процессе обработки.
  • Enable ASP Client-Side Script Debugging (Включить отладку сценариев клиентской части). Включение опции разрешит отладку ASP-страниц с помощью Microsoft ScriptDebugger на клиентской части. При возникновении ошибки клиент получит сообщение с вопросом о том, нужно ли провести отладку ошибки.
  • Send Detailed ASP Error Messages to Client (Отправлять клиенту подробные сообщения об ошибках). Являясь опцией по умолчанию, обеспечивает отправку стандартного сообщения об ошибке с именем файла и относительным путем, особого сообщения об ошибке и номера строки, в которой произошла ошибка. Это дает клиентам доступ к подробной информации о настройках сайта, поэтому в целях безопасности имеет смысл отправлять другие сообщения об ошибках.
  • Send the Following Text Error Message to Client (Отправлять клиенту следующее текстовое сообщение об ошибке). Отметьте эту опцию и введите текст собственного сообщения, отправляемого клиенту при возникновении ошибки в сценарии ASP. Например, введите сообщение с указанием адреса электронной почты, по которому клиент сможет отправить отчет об ошибке.
Создание компоновки соседних версий

Создадим файл-манифест, позволяющий приложению использовать более старую версию библиотеки DLL. Он является ключевым объектом при компоновке соседних версий, поэтому с него и начинаем. В нем содержится информация для IIS о том, какой графический пользовательский интерфейс использовать для загружаемого COM-объекта. Назовем наш файл Myapp.xml ; его нужно разместить в каждом виртуальном каталоге, использующем данную библиотеку DLL.

Теперь нужно дать IIS команду на использование компоновки соседних версий. Во вкладке Options (Параметры) отметьте опцию Enable Side By Side Assemblies (Включить параллельные сборки). После этого введите Myapp.xml в поле Manifest File Name (Имя файла-манифеста). Наш файл-манифест находится в этом же каталоге, поэтому указывается только имя файла.

Вкладка Documents (Документы)

В окне Web Site Properties (Свойства веб-узла) имеется еще одна вкладка – Documents (Документы) (см. рис. 2.10). В ней настраиваются стандартные страницы веб-сайта, а также нижний колонтитул, размещаемый на каждой странице.

Рис. 2.10. Вкладка Documents (Документы)

Enable Default Content Page (Включить страницу с содержимым по умолчанию)

Эта опция указывает страницу по умолчанию, которая отображается в том случае, если в строке адреса URL запроса не указано имя документа. Например, при вводе клиентом адреса http://www.microsoft.com веб-сервер IIS проверяет наличие документа по умолчанию. При включенной опции этот документ отображается. Такой подход не требует от клиента указания имени документа для каждого посещаемого сайта. Если документ по умолчанию не определен, и клиент не указал имя документа, то дальнейшее развитие событий зависит от того, включен или выключен просмотр каталогов.

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

IIS производит поиск имен заданных страниц, если в запросе не определена конкретная страница. Имя файла должно полностью соответствовать имени страницы, поэтому не забудьте указать расширение, причем сделайте это правильно ( Default.htm не то же самое, что Default.html ). Для добавления в список имени файла нажмите на кнопку Add (Добавить) и введите имя страницы. Для удаления имени файла из списка выделите его и нажмите на кнопку Remove (Удалить). Подтверждение на удаление не запрашивается.

Установка порядка страниц по умолчанию

При поиске страницы по умолчанию IIS проверяет список в порядке, установленном в данном окне. IIS использует первую страницу, имя которой соответствует критерию поиска. Для изменения порядка элементов списка выделите имя страницы и с помощью кнопок Move Up (Вверх) и Move Down (Вниз) переместите ее в нужное место.

Enable Document Footer (Включить нижний колонтитул документа)

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

После включения данной опции нажмите на кнопку Browse (Обзор) для выбора документа, используемого в качестве нижнего колонтитула. Код в документе должен быть HTML-совместимым (не должен содержать сценарии), при этом не обязательно использовать файл с расширением .HTM.

Вкладка Directory Security (Безопасность каталога)

Вкладка Directory Security (Безопасность каталога) (см. рис. 2.11) служит для настройки параметров безопасности сайта: настройки аутентификации клиентов IIS, указания клиентов, которые могут подключаться к серверу, установки защиты соединения между клиентом и сервером.

Рис. 2.11. Вкладка Directory Security (Безопасность каталога)

Изменение параметров аутентификации и контроля доступа

В этой секции выбирается тип аутентификации сайта для обеспечения его безопасности. Не забывайте о взаимодействии между защитой NTFS и мерами безопасности IIS, об их воздействии на пользователей, проходящих процедуру аутентификации на веб-странице. Для изменения параметра Authentication and Access Control (Аутентификация и контроль доступа) нажмите на кнопку Edit (Изменить). Откроется диалоговое окно Authentication Methods (Методы аутентификации) (см. рис. 2.12).

Рис. 2.12. Диалоговое окно Authentication Methods (Методы аутентификации)

Опция Enable Anonymous Access (Включить анонимный доступ). При включении опции пользователи подключаются к веб-странице без ввода аутентификационных данных. Вконтексте безопасности используется учетная запись Guest (Гость) – гостевая учетная запись интернета. Она создается при установке IIS и ей присваивается имяIUSR_ . Опция позволяет настроить меры безопасности для всех анонимных пользователей, посещающих сайт с помощью этой учетной записи. Можно отказаться от гостевой учетной записи интернета, а вместо нее использовать другую учетную запись (локальную или расположенную на доверенном домене).

Совет. Любая учетная запись, используемая для доступа к веб-страницам, должна иметь разрешение на доступ к файлам на уровне NTFS. Более подробная информация об установке этих разрешений приведена в лекции 6.

Для выбора учетной записи анонимного доступа выполните следующие действия.

  1. Введите имя учетной записи в диалоговом окне Authentication Methods (Методы аутентификации). Для учетной записи домена используйте формат имени имя_домена\имя_пользователя.
  2. Для поиска нужного имени нажмите на кнопку Browse (Обзор). Появится стандартное окно выбора объекта Windows 2003.
  3. В этом окне выберите имя учетной записи пользователя и ее место расположения. Поиск можно произвести нажатием на кнопку Advanced (Дополнительно).
  4. После выбора учетной записи нажмите на кнопку OK.
  5. Введите пароль учетной записи в текстовом поле Password (Пароль). После нажатия на кнопку OK появится окно подтверждения пароля.

При указании имени пользователя и пароля IIS не проверяет правильность этой информации. Если данные введены неправильно, IIS будет работать с отключенным анонимным доступом к сайту. Обнаружить это довольно сложно, так как Internet Explorer автоматически будет использовать другие методы аутентификации, например, входные данные зарегистрированного в системе пользователя. Как администратор вы получите доступ к ресурсам, а вот как пользователь-гость – нет. Выяснить аутентифицируемого в данный момент пользователя можно при помощи файла журнала сайта, в котором фиксируется этот процесс. При использовании учетной записи, не имеющей доступа к указанному ресурсу, появится окно для ввода аутентификационных данных.

Аутентифицированный доступ. Секция Authenticated Access окна Authentication Methods (Методы аутентификации) отображает типы аутентификации, включенные на сайте. Если гостевая учетная запись IIS не имеет доступа к ресурсу, IIS проверяет доступные типы аутентификации.

    Интегрированная аутентификация Windows. Наиболее безопасный способ аутентификации, прекрасно подходит для любых версий браузера Internet Explorer в отсутствие HTTP-proxy. Он встраивается во все браузеры IE, начиная с версии 2.0. Браузеры типа Netscape не поддерживают данный метод аутентификации. Интегрированная аутентификация Windows использует на сервере принцип NT запрос/ответ или протокол Kerberos. При поддержке клиентом и сервером Kerberos и в случае доступности доверенного центра распространения ключей Key Distribution Center (KDC) используется протокол Kerberos; в противном случае – принцип NT запрос/ответ.

Аналитическая аутентификация для серверов доменов Windows. Аналитическая аутентификация доступна при использовании учетных записей Active Directory. Данный метод, хотя и связан с некоторыми опасностями, все же более безопасен, чем базовая аутентификация. Наряду с Active Directory требуется также наличие протокола HTTP 1.1, поэтому аналитическая аутентификация работает только с новыми версиями браузеров, поддерживающими этот протокол. Нужно также, чтобы контроллер домена содержал открытую копию каждого пароля для проверки паролей на наличие случайной информации, отправляемой клиентом. В этом и заключается угроза безопасности. Сохранение паролей в открытом виде на диске представляет собой очевидный риск, поэтому убедитесь, что контроллер домена надежно защищен от вторжений, в противном случае злоумышленник может выяснить необходимые ему пароли. Преимуществом аналитической аутентификации является то, что пароль не передается через сеть в открытом виде, как в базовой аутентификации.

Аналитическая аутентификация представляет собой простой хэш и поэтому работает через сетевые экраны и прокси-серверы. Она доступна и для каталогов Web-based Distributed Authoring and Versioning (WebDAV). Поскольку для аналитической аутентификации нужен домен, при ее выборе становится доступным поле Realm (Область). Если аналитическая (или базовая) аутентификация не включена, поле Realm (Область) недоступно. В этом поле указывается база данных учетных записей пользователей, используемая при аутентификации. Введите в поле имя области с клавиатуры или с помощью кнопки Select (Выбор) выберите нужное имя из списка областей.

Ограничение доступа по IP-адресу или имени домена

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

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

Если вы решили ограничить доступ по IP-адресам, то эти ограничения необходимо настроить. Нажмите на кнопку Edit (Изменить) в области IP Address And Domain Name Restrictions (Ограничения по IP-адресу и доменному имени) во вкладке Directory Security (Безопасность каталога). После нажатия на кнопку Edit (Изменить) откроется диалоговое окно IP Address And Domain Name Restrictions (Ограничения по IP-адресу и доменному имени) (см. рис. 2.13). Необходимо выбрать способ установки ограничения: запретить доступ всем пользователям, кроме отдельных конкретных лиц, либо разрешить доступ всем и наложить запрет на доступ к сайту определенным пользователям. При выборе опции Granted Access (Открыть доступ) подход к ограничению будет лояльным; при выборе опции Denied Access (Запретить доступ) претворится в жизнь принцип «запретить доступ всем, за некоторым исключением».

Рис. 2.13. Диалоговое окно IP Address And Domain Name Restrictions (Ограничения по IP-адресу и доменному имени)

Изменение ограничений по IP-адресу. Для добавления в список IP-адреса нажмите на кнопку Add (Добавить). Появится окно Grant Access (Предоставить доступ) или Deny Access (Запретить доступ) в зависимости от того, какая опция выбрана.

Выбор предоставления или запрета доступа является глобальным решением. Нельзя отказать в доступе некоторым IP-адресам и разрешить доступ другим. Здесь нужно действовать по принципу «все или ничего». Выберите необходимый тип доступа.

  • Один компьютер. Позволяет ввести IP-адрес в список доступа. Таким способом можно последовательно указать несколько компьютеров. Если IP-адрес компьютера неизвестен, нажмите на кнопку DNS Lookup (Поиск по DNS) для определения IP-адреса по имени.
  • Группа компьютеров. Позволяет ввести идентификатор сети и маску подсети для добавления компьютеров в список. С помощью масок подсети переменной длины можно довольно точно определить IP-адреса в списке.
  • Доменное имя. Позволяет ввести имя домена для запрета с него доступа к сайту. Будьте внимательны при использовании этой опции, так как при ее работе выполняется обратный поиск по отношению к каждому клиенту, подключающемуся к серверу, и выяснение того, не является ли он членом запретного домена. Это отрицательно сказывается на производительности и вызывает задержки при аутентификации клиентов. Операции обратного поиска, как правило, требуют большого количества времени для выполнения.

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

Для удаления выделите запись и нажмите на кнопку Remove (Удалить). Для изменения выделите запись и нажмите на кнопку Edit (Изменить).

Безопасность соединения

Область Secure Communications (Безопасность соединения) во вкладке Directory Security (Безопасность каталога) служит для настройки сертификатов при аутентификации и шифровании. Она позволяет создать запросы сертификатов, присваивать, экспортировать, импортировать и резервировать сертификаты, настроить взаимодействие сервера с сертификатами клиентов.

Для настройки сертификата на данном сервере нажмите на кнопку Server Certificate (Сертификат сервера). Отобразится окно Web Server Certificate Wizard (Мастер сертификатов веб-сервера). Нажмите на кнопку Next (Далее) для изменения параметров присвоения сертификата.

Create A New Certificate (Создать новый сертификат). Позволяет настроить запрос для отправки в бюро сертификатов (CA) (см. лекцию 10). Запрос направляется либо в онлайновое бюро сертификатов, либо сохраняется в файле, и затем файл направляется в бюро сертификатов через процедуру регистрации. Для отправки запроса онлайновому бюро сертификатов установите на сервере Certificate Services (Службы сертификатов).


Совет. Корпоративные бюро сертификатов (CA) располагаются в Active Directory и имеют записи SRV в DNS, поэтому вы сможете их найти. Более подробная информация о записях SRV и DNS приведена в лекции 8. При наличии отдельного бюро сертификатов, установленного на данном компьютере, IIS не сможет его распознать. Но это не такая большая проблема, поскольку можно вручную утвердить и установить сертификат (см. лекцию 7 курса «Программирование в IIS»). Рекомендуем вам расположить CA в защищенном месте; уязвимый веб-сервер для этой цели не подходит.

При создании запроса для отправки в бюро сертификатов выполните следующие шаги.

  1. Выберите опцию Create A New Certificate (Создать новый сертификат), затем нажмите на кнопку Next.
  2. Выберите опцию Prepare The Request Now, But Send It Later (Подготовить запрос сейчас, но отправить его позже), затем нажмите на кнопку Next
  3. Введите желаемое имя для сертификата – можете указать любое имя.
  4. Укажите длину сертификата в битах. Можете выбрать значение 512, 1024, 2048, 4096, 8192 или 16384 бита для создания сложного хэша.
  5. Если требуется выбрать поставщика криптографических услуг (CSP) для генерирования данного сертификата, отметьте соответствующую опцию. CSP представляет собой алгоритм, используемый для генерирования сертификатов.
  6. Введите имя вашей организации и укажите подразделение организации. Помните, что при использовании услуг коммерческого бюро сертификатов нужно указать ваше официальное деловое имя. Нажмите на кнопку Next.
  7. Введите общее имя сайта. Оно должно соответствовать имени DNS или NetBIOS, используемому для сайта. Поскольку каждый сертификат соответствует определенному имени, он пригоден только для одного имени. При использовании другого имени DNS или NetBIOS нужно получать новый сертификат. Нажмите на кнопку Next.
  8. Введите данные в полях City (Город), State (Штат) и Country (Страна). Не допускайте сокращений. Нажмите на кнопку Next.
  9. Введите имя и место расположения файла для размещения запроса. Помните об этом файле, поскольку он будет использоваться в запросе на сертификат. Нажмите на кнопку Next.
  10. Следующее окно представляет собой окно отчета. Убедитесь в правильности введенной информации. Нажмите на кнопку Next.
  11. Нажмите на кнопку Finish (Готово) для завершения работы мастера.

Copy Or Move A Certificate From A Remote Server Site To This Site (Копировать или переместить сертификат с удаленного сервера на этот сайт). Возможно получение сертификатов с другого веб-сайта. Данная опция не позволяет выполнить экспортирование сертификата в файл, представляющее собой угрозу безопасности. Для копирования или перемещения сертификата с удаленного веб-сервера выполните следующие действия.

  1. В окне IIS Certificate Wizard (Мастер сертификатов IIS) выберите опцию Copy Or Move A Certificate From A Remote Server Site To This Site (Копировать или переместить сертификат с удаленного сервера на данный сайт), затем нажмите на кнопку Next (Далее).
  2. В диалоговом окне Copy/Move Certificate (Копировать/Переместить сертификат) выберите нужное действие.
  3. Укажите, нужно ли экспортировать сертификат с данного веб-сайта. Нажмите на кнопку Next.
  4. Введите имя компьютера (или перейдите к нему), с которого импортируется сертификат.
  5. Введите аутентификационные данные пользователя, имеющего достаточные разрешения для доступа к сертификату, затем нажмите на кнопку Next.
  6. Укажите расположение сайта, из которого импортируется сертификат. С помощью кнопки Browse (Обзор) выберите это место из списка. Нажмите на кнопку Next.
  7. Проверьте данные в результирующем окне и убедитесь, что импортирован правильный сертификат.
  8. Нажмите на кнопку Next, затем нажмите на кнопку Finish (Готово).

Обработка сертификата. После получения ответа от бюро сертификатов обработайте ожидающий подтверждения запрос на сертификат. Для этого выполните следующие действия.

  1. Запустите Web Server Certificate Wizard (Мастер сертификатов веб-сервера) еще раз, нажав на кнопку Server Certificate (Сертификат сервера) во вкладке Directory Security (Безопасность каталога).
  2. В диалоговом окне Server Certificate (Сертификат сервера) выберите опцию Process The Pending Request (Обработать ожидающий сертификат) и установите сертификат. Нажмите на кнопку Next.
  3. Введите имя файла ответа (или перейдите к его месту расположения), полученного от бюро сертификатов, затем нажмите на кнопку Next.
  4. Введите номер порта SSL, который будет использоваться сайтом. Нажмите на кнопку Next.
  5. Просмотрите окно с отчетом и убедитесь в правильности указанной информации.
  6. Нажмите на кнопку Next, затем нажмите на кнопку Finish (Готово).

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

  1. В окне Web Server Certificate Wizard (Мастер сертификатов веб-сервера) выберите опцию Delete The Pending Request (Удалить ожидающий запрос). В следующем диалоговом окне появится сообщение о том, что при продолжении работы мастера станет невозможной обработка ответов на этот запрос, а также предложение отказаться от продолжения.
  2. Нажмите на кнопку Next (Далее) для удаления запроса.
  3. Нажмите на кнопку Finish (Готово) для завершения работы мастера.

Просмотр деталей установленного сертификата. При наличии установленного сертификата просмотрите информацию о нем, нажав на кнопку View Certificate (Просмотр сертификата) во вкладке Directory Security (Безопасность каталога).

  • Вкладка General (Общие). Содержит информацию о сертификате: назначение сертификата, выпустившее его лицо, заказчик сертификата, срок действия сертификата.
  • Вкладка Details (Детали). Содержит очень важные сведения о сертификате. В ней можно просмотреть все свойства сертификата, запустить Certificate Export Wizard (Мастер экспорта сертификатов), включить и отключить цели данного сертификата и указать несколько мест для загрузки из различных бюро сертификатов.
  • Вкладка Certification Path (Путь сертификата). Позволяет просмотреть иерархию сертификатов CA для данного сертификата. Отображает данные о том, является ли сертификат действительным.

Изменение безопасных соединений. С помощью кнопки Edit (Изменить) можно изменить связи сертификата и списки доверия (см. рис. 2.14). Возможна настройка принудительного использования SSL.

Рис. 2.14. Окно Secure Communications (Безопасность соединений)

Опция Require Secure Channel (Требовать безопасный канал) обеспечивает принудительное использование SSL на сайте. Любому браузеру, который не использует протокол SSL, доступ к сайту будет запрещен.

Опция Require 128-Bit Encryption (Требовать 128-битное шифрование) позволяет в принудительном порядке использовать мощное шифрование. Это позволяет предотвратить доступ к сайту браузеров с более слабым шифрованием. На сайте Microsoft доступны обновления для Internet Explorer, реализующие 128-битное шифрование (http://www.microsoft.com/ie). Их может загрузить любой пользователь страны, не входящей в ряд государств, на которые США наложило информационное эмбарго (так как Microsoft является государственной корпорацией США).

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

  • Ignore (Игнорировать). Опция по умолчанию. Любой представленный сертификат клиента не принимается.
  • Accept (Принять). Принимает сертификат. Позволяет настроить связи сертификатов, что не является обязательным. Любой браузер без сертификата клиента получит доступ к сайту.
  • Require (Требовать). Требует использование сертификатов. Любому клиенту без сертификата доступ к сайту запрещен. Для выбора этой опции нужно также отметить опцию Require Secure Channel (Требовать безопасный канал).

Установка связей сертификатов предназначена для аутентификации компьютера клиента посредством учетной записи Windows. Существуют два типа связей: «один к одному» и «много к одному».

  • Связь «один к одному». Используется в случае, если учетная запись пользователя имеет свой собственный сертификат. С учетной записью пользователя могут быть связаны несколько сертификатов, но для реализации данной возможности необходим хотя бы один уникальный сертификат. Сертификат импортируется и связывается с учетной записью, после чего используется для аутентификации пользователя.
  • Связь «много к одному». Используется в случае, если с учетной записью пользователя связано несколько сертификатов. Указывается групповой критерий сертификата клиента с данными о сертификате, например, названием подразделения или организации. Если эти данные совпадают, используется указанная учетная запись.

Вкладка HTTP Headers (Заголовки HTTP)

Во вкладке HTTP Headers (Заголовки HTTP) окна Properties (Свойства) (см. рис. 2.15) настраивается срок действия содержимого, оценка содержимого и типы MIME, добавляются заголовки HTTP.

Рис. 2.15. Вкладка HTTP Headers (Заголовки HTTP)

Установка срока действия содержимого

Опция устанавливает срок действия файлов на веб-сайте и используется для остановки кэширования содержимого по истечении установленного срока. Срок действия при запросе передается вместе с содержимым. Используется объект RESPONSE со свойством CACHECONTROL или EXPIRES для установки срока кэширования и периода действия на страницах ASP, однако при работе с графикой он не работает. Опция выполняет указанные функции с помощью следующих параметров.

Expire Immediately (Немедленное истечение срока действия). Предотвращает кэширование данных запрашивающей стороной. Желательно использовать ее на тестовом сайте или сайте разработки при внесении в код изменений, чтобы старые версии не кэшировались в папках IE. Опция работает и для страниц с динамически изменяемым содержимым, когда пользователь каждый раз получает новый результат, чтобы данные этой страницы не кэшировались в автономных папках.

Expire After (Истечение срока действия после). Устанавливает промежуток времени в минутах, часах или днях. Указывается любое значение в интервале от 1 минуты до 32 767 дней (это всего лишь 90 лет).

Expire On (Истечение срока действия в). Устанавливает срок завершения действия содержимого в определенное время. Нельзя указывать дату окончания действия более раннюю, чем текущая дата. Указывается любая дата, вплоть до 31 декабря 2035 года. Поскольку эта дата обрабатывается клиентом, она контролируется его временной зоной, поэтому возможны некоторые отклонения в сроках завершения действия содержимого в зависимости от зоны.

Особые заголовки HTTP

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

Для добавления особого заголовка выполните следующие действия.

  1. Нажмите на кнопку Add (Добавить). Появится диалоговое окно Add/Edit Custom HTTP Header (Добавить/Изменить особый заголовок HTTP).
  2. Введите имя особого заголовка в соответствующем поле.
  3. Введите значение особого заголовка в соответствующем поле.
  4. Нажмите на кнопку OK.

Заголовок изменяется посредством кнопки Edit (Изменить) и удаляется с помощью кнопки Delete (Remove). При удалении особого заголовка подтверждение удаления не запрашивается.

Оценка содержимого

Существует возможность оценки содержимого сайта. Это добровольная система, разработанная Ассоциацией оценки содержимого интернета (Internet Content Rating Association, ICRA). ICRA представляет собой некоммерческую, независимую организацию, которая дает родителям возможность принимать объективное решение о том, что их дети могут просматривать в интернете. Данная система состоит из двух частей: сначала сайт оценивается веб-мастером (ICRA не производит оценку), затем конечный пользователь устанавливает параметры браузера для блокировки определенных сайтов по их содержимому.

Используются два стандарта оценки содержимого: старый стандарт RSACi и более новая система ICRA. IIS 6 поддерживает систему RSACi, осуществляющую оценку содержимого по четырем категориям.

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

Включение оценки содержимого сайта. Выполните следующие действия.

  1. Откройте диалоговое окно Content Ratings (Оценка содержимого), нажав на кнопку Edit Ratings (Изменить оценку) во вкладке HTTP Headers (Заголовки HTTP).
  2. В окне Content Ratings отметьте опцию Enable Ratings For This Content (Включить оценку данного содержимого).
  3. Выберите ту оценку, которую нужно установить.
  4. Используйте ползунок для установки уровня от 0 до 4.
  5. Установите одну оценки или все вместе (при необходимости).
  6. Введите адрес электронной почты в соответствующем поле. Как правило, здесь указывается адрес, отражающий характерную учетную запись (например,webmaster@thisdomain.com ).
  7. Укажите срок действия. Дата должна быть больше текущей. Укажите любую дату до 31 декабря 2035 года.
  8. Нажмите на кнопку OK.
Типы MIME

Многоцелевые расширения почты интернета (MIME) определяют типы файлов, работу клиентов с которыми обслуживает IIS. IIS 6 обслуживает только файлы, связанные со сценариями или соответствующие определенному типу MIME. При обнаружении IIS расширения, для которого отсутствует связь MIME, клиент получает ошибку 404 «Not Found», и сервер фиксирует код подсостояния, равный трем.

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

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

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

  1. Нажмите на кнопку MIME Types (Типы MIME) во вкладке HTTP Headers (Заголовки HTTP) на нужном уровне (глобальном, для сайта или каталога, в зависимости от выбранного параметра в MMC).
  2. Нажмите на кнопку New (Создать).
  3. В диалоговом окне MIME Type (Тип MIME) введите расширение файла в поле Extension (Расширение). В данном случае укажите расширение .log.
  4. Введите тип MIME в соответствующем поле. Поскольку файл имеет формат обычного текста, подходящим типом MIME будет text/plain.
  5. Нажмите на кнопку OK. Новое расширение добавится в список.
  6. Нажмите на кнопку OK, затем еще раз.

Теперь ваш каталог (сервер, сайт) настроен на обслуживание файлов .log. Клиенты, выбирающие файл в этом каталоге, будут видеть его в своих браузерах. В данном окне можно изменять и удалять связи с типами MIME.

При неправильной настройке типа MIME IIS будет обслуживать файл, однако система не будет знать, какие действия выполнять с файлом. Пользователям IE придется выбирать программу для открытия данного файла из предлагаемого списка.

Примечание. Как выяснить соответствие типа MIME рассматриваемому файлу? Документы RFC2045 и RFC2046 определяют поля для типов MIME, а также порядок присвоения и просмотра типов агентством IANA (Агентство по выделению имен и уникальных параметров протоколов интернета). Это та же самая организация, которая назначает IP-адреса. Полный перечень типов расположен на сайте организации по адресу http://www.iana.org.

Вкладка Custom Errors (Особые ошибки)

Вкладка Custom Errors (Особые ошибки) (см. рис. 2.16) служит для изменения стандартных сообщений об ошибках, отправляемых IIS. В ней отображается связь каждой ошибки HTTP с кодом подсостояния. Во вкладке можно создать особые сообщения об ошибках и задать сценарии, выполняющиеся при возникновении ошибок.

Рис. 2.16. Вкладка Custom Errors (Особые ошибки)

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

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

  • Default (По умолчанию). Ошибка по умолчанию, запрограммированная в IIS. Позволяет восстановить исходное состояние, если особая ошибка больше не нужна.
  • File (Файл). Позволяет выбрать файл, используя его полное имя (например, C:\windows\help\errors\iiserror404.asp ).
  • URL. Позволяет направить клиента на страницу сайта по абсолютному пути URL (начиная с верхнего уровня сайта). Следовательно, страницы ошибок HTTP должны находиться на том же сайте, хотя они и могут располагаться в виртуальном каталоге. При вводе URL в неправильном формате отобразится сообщение об ошибке.
Изменение свойств особых ошибок

Для изменения свойств особых ошибок выполните следующие действия.

  1. Выделите ошибку HTTP, затем нажмите на кнопку Edit (Изменить). Появится окно Edit Custom Error Properties (Изменение свойств особой ошибки).
  2. В ниспадающем меню выберите тип сообщения для данной ошибки.
  3. При использовании файла укажите путь к этому файлу или перейдите в его место расположения.
  4. При использовании URL введите абсолютное имя файла.
  5. При выборе опции Default (По умолчанию) ничего указывать не нужно.
  6. После выбора и настройки опции нажмите на кнопку OK.
  7. Нажмите на кнопку OK.

Некоторые сообщения об ошибках нельзя связать с URL

Некоторые сообщения об ошибках нельзя связать с URL. Ниже приведен список таких сообщений.

  • 401.1 Unauthorized: Access is denied due to invalid credentials (Доступ запрещен по причине неверного имени пользователя и пароля).
  • 401.2 Unauthorized: Access is denied due to server configuration favoring an alternate authentication method (Доступ запрещен по причине того, что в конфигурации сервера указан другой метод аутентификации).
  • 401.3 Unauthorized: Access is denied due to an ACL set on the requested resource (Доступ запрещен по той причине, что на запрашиваемом ресурсе расположен список ACL).
  • 401.4 Unauthorized: Authorization failed by a filter installed on the web server (Авторизация не проведена из-за фильтра, установленного на веб-сервере).
  • 401.5 Unauthorized: Authorization failed by an ISAPI/CGI application (Авторизация отменена приложением ISAPI/CGI).
  • 407: Proxy Authentication Required (Требуется аутентификация прокси).
  • 502: Bad Gateway (Ошибка шлюза).

Вкладка BITS Server Extension (Серверное расширение BITS)

Служба интеллектуальной фоновой передачи (Background Intelligent Transfer Service, BITS) позволяет осуществлять медленную передачу большого количества информации в течение длительного времени. Передача данных выполняется в то время, когда сеть не используется, что не сказывается на производительности сети. Вкладка BITS Server Extension (Серверное расширение BITS) доступна, если установлен соответствующий компонент. (Опция установки компонента находится в папке Add/Remove Windows Components [Установка и удаление компонентов Windows]. Дополнительную информацию см. в лекции 1.) IIS использует серверные расширения BITS для получения отгружаемых клиентами в виртуальный каталог файлов. Клиент должен иметь программное обеспечение, позволяющее отгружать файлы при помощи технологии BITS; IIS лишь настраивает сервер на прием файлов, передаваемых посредством BITS. При инициализации передачи BITS управляет ею до тех пор, пока существует сетевое подключение. Если сетевое соединение прерывается, BITS приостанавливает передачу и возобновляет ее с места приостановки после восстановления соединения. Данные передаются независимо от отключений и перезагрузки компьютеров. BITS отслеживает использование сети на компьютере-клиенте и осуществляет передачу при наличии достаточной части полосы пропускания канала.

Рис. 2.17. Вкладка BITS Server Extensions (Серверные расширения BITS)

Allow Clients to Transfer Data to This Virtual Directory (Разрешить клиентам передавать данные в этот виртуальный каталог)

Опция настраивает виртуальный каталог на прием файлов, передаваемых через BITS. При выборе опции Use Default Settings (Использовать настройки по умолчанию) в данной вкладке нельзя настроить какие-либо опции. Опция Customize Settings (Изменить настройки) позволяет внести изменения в параметры. Параметры устанавливаются на уровне веб-сайта в виртуальных каталогах, предназначенных для приема данных посредством технологии BITS. Виртуальный подкаталог наследует параметры родительского виртуального каталога.

Особые настройки

В области Custom Settings (Особые настройки) настраивается максимальный размер файла, передаваемого с помощью BITS, с помощью опции Maximum File Size (Максимальный размер файла). Подразумевается максимальный размер одного файла. Укажите значение от 1 байта до 16 777 215 терабайт. (Искренне желаю вам дожить до момента выпуска новых ПЗУ объемом 16 экзабайт.) Настраивается период действия незавершенных передач файлов до их удаления процессом очистки. Выберите любой интервал времени от 1 с (в этом случае любая незавершенная передача удаляется при запуске очистки диска) до 49 710 дней, по прошествии которых жесткие диски объемом 16 экзабайт будут уже давно пройденным этапом.

Включение поддержки набора серверов

Набор серверов BITS представляет собой группу серверов, на которые клиент может отгружать файлы. Хранилище файлов настраивается на работу с набором серверов двумя способами.

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

При выборе второй опции откроется доступ к опциям поддержки набора серверов.

  • Reconnect To IP Address (Повторное подключение к IP-адресу). Позволяет клиенту узнать IP-адрес для повторного подключения при возобновлении передачи файлов. При использовании серверами локального хранилища клиенту, скорее всего, потребуется повторное подключение к тому же серверу для продолжения передачи файла, а не создание нового подключения к другому серверу. Здесь можно указывать имя DNS, если для этого имени присутствует одна запись A (циклический DNS направит клиента на несколько серверов, и повторное подключение потеряет смысл).
  • Use Original IP Address After (Использовать исходный IP-адрес после). Настраивает интервал времени для повторного подключения. Этот параметр обычно синхронизируется с периодом, установленным в настройках очистки жесткого диска. В случае удаления незавершенной передачи файла повторное подключение к этому же серверу не имеет смысла. Клиенту потребуется повторное подключение с использованием исходного URL по прошествии указанного срока. Укажите любой интервал – от 1 секунды до 49 710 дней.
Разрешение уведомлений

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

  • Notification Type (Тип уведомления). При выборе отправки имени файла сервер передает полный путь файла по URL уведомления. При выборе отправки данных файл передается сервером по URL уведомления с использованием метода HTTP POST.
  • Notification URL (URL уведомления). Указывает URL, используемый для отправки уведомлений. Укажите полный URL или относительный URL.
Удаление незавершенных файлов

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

  • Schedule Cleanup (Назначение очистки). Назначает периодически выполняемую задачу для проверки наличия незавершенных файлов. При нахождении незавершенного файла его дата сопоставляется со значением срока удаления в поле Delete Incomplete Jobs After (Удалять незавершенные задания после). Если файл старше этого значения, он удаляется, и задание отменяется.
  • Run Cleanup Now (Выполнить очистку сейчас). Немедленно запускает процесс очистки. В противном случае очистка выполняется так же, как и при выборе опции Schedule Cleanup.

Вкладка Server Extensions 2002 (Серверные расширения 2002)

Вкладка (см. рис. 2.18) доступна только на уровне сайта, если установлены серверные расширения FrontPage 2002 Server Extensions. По умолчанию при открытии вкладки появляется сообщение о том, что серверные расширения для данного веб-сайта не включены.

Рис. 2.18. Вкладка Server Extensions (Серверные расширения)

  1. В консоли IIS MMC выберите команду Action\All Tasks\Configure Server Extensions 2002 (Действие\Все задачи\Настройка Server Extensions 2002).
  2. Появится окно Internet Explorer с запросом входных данных. Введите аутентификационные данные с правами администратора.
  3. Откроется веб-сайт, для которого необходимо включить серверные расширения FrontPage Server Extensions 2002.
  4. Убедитесь, что в поле Administrator (Администратор) отображается нужная учетная запись, затем нажмите на кнопку Submit (Отправить).
  5. На веб-сайте Server Administration, открывшемся в окне браузера, настраиваются серверные расширения FrontPage Server Extensions.

После включения серверных расширений во вкладке отобразится кнопка Settings (Параметры), с помощью которой открывается веб-сайт Server Administration (Администрирование сервера).

Веб-сайт Server Administration (Администрирование сервера)


На веб-сайте Server Administration (Администрирование сервера) настраиваются серверные расширения FrontPage. При открытии вкладки Server Extensions 2002 (см. рис. 2.18) вы увидите кнопку Settings (Параметры); в консоли IIS MMC будут недоступны параметры конфигурации. Нажмите на кнопку Settings для перехода на сайт FrontPage Server Administration (Администрирование сервера FrontPage) (см. рис. 2.19). Сначала отобразится страница Change Configuration Settings (Изменить параметры конфигурации). В верхней части страницы расположены гиперссылки администрирования, с помощью которых осуществляется переход на страницу администрирования сайта и к справке.

Рис. 2.19. Страница Change Configuration Settings (Изменение параметров конфигурации) сайта FrontPage Server Administration (Администрирование сервера FrontPage)

Страница изменения параметров конфигурации

На странице Change Configuration Settings (Изменение параметров конфигурации) вы можете настроить общие параметры сайтов данного сервера. Для этого нужно быть членом локальной группы Administrators (Администраторы).

Enable Authoring (Включить авторизацию). Включенная опция указывает на использование клиентами FrontPage для отгрузки содержимого на свои веб-сайты. По умолчанию при установке Server Extensions 2002 данная опция включена. Ее отключение запретит авторам сайтов публиковать новое содержимое. Администратор может воспользоваться этой возможностью при управлении или обновлении содержимого, если на это время нужно запретить публикацию. С точки зрения безопасности опцию не следует включать для работающего сайта, за исключением времени, когда производится отгрузка содержимого на сайт.

Mail Settings (Параметры почты). Используется для настройки использования программой FrontPage служб электронной почты сервера. При настройке параметров SMTP указывается имя сервера SMTP или его IP-адрес. Нельзя указывать имя пользователя и пароль, поэтому убедитесь, что сервер принимает сообщения без запроса этих данных. С помощью опции настраиваются адреса From (От) и Reply (Ответ), кодировка сообщений и набор символов, если сервер электронной почты имеет другие настройки.

Performance Tuning (Настройка производительности). Серверные расширения FrontPage позволяют настраивать кэширование веб-сайтов. При большом количестве страниц и документов кэширование сокращает среднее время отклика сайта. Измените один из параметров для настройки размера кэша:

    Web-наборы. Позволяют распределять запросы по нескольким рабочим процессам в данном пуле приложений, достигая большего уровня производительности и надежности, поскольку приложение будет использовать несколько рабочих процессов, и ошибка в одном из них не повлияет на работу остальных. Параметр Maximum Number Of Worker Processes (Максимальное число рабочих процессов) устанавливает количество рабочих процессов в данном пуле приложений. Укажите любое значение от 1 до 4 000 000.

Предупреждение. Установка слишком большого числа рабочих процессов отрицательно скажется на производительности системы, поскольку каждый процесс занимает около 5 Мб памяти только при запуске. Имейте это в виду при указании максимального количества выполняемых на сервере рабочих процессов.
Вкладка Health (Состояние)

Во вкладке Health (Состояние) (см. рис. 2.25) настраиваются параметры, поддерживающие рабочее состояние данного пула приложений, и параметры обнаружения проблем.

Рис. 2.25. Вкладка Health (Состояние)

  • Enable Pinging (Включить пинг-запросы). Настраивает систему на периодическую отправку пинг-запросов рабочим процессам. Отсутствие ответа от рабочего процесс означает наличие в нем проблемы; IIS уничтожает данный процесс и вместо него создает новый. Укажите любое значение от 1 до 4 000 000 с.
  • Rap >Ниже приведено описание работы рассматриваемого процесса.
  1. В рабочем процессе возникает ошибка.
  2. IIS записывает событие о неожиданном завершении работы процесса в журнал приложений, указывает идентификационный номер процесса и код выхода.
  3. IIS перезапускает рабочий процесс автоматически при поступлении другого процесса.
  4. Действия повторяются до достижения порогового значения.
  5. По достижении порогового значения IIS записывает в журнал приложений событие об автоматическом отключении пула приложений из-за многократного возникновения ошибок.
  6. Все клиенты, использующие данный пул приложений, получат сообщение об ошибке 503 «Service Unavailable» («Служба недоступна»).
  7. Действия повторяются до тех пор, пока пул приложений не будет остановлен и перезагружен.

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

  • Startup Time Limit (Предел времени загрузки). Служит для настройки промежутка времени, в течение которого IIS ожидает запуск рабочего процесса. Укажите любой интервал времени от 1 до 4 000 000 с.
  • Shutdown Time Limit (Предел времени отключения). Служит для настройки промежутка времени, в течение которого IIS ожидает запланированное завершение рабочего процесса. Укажите любой интервал времени от 1 до 4 000 000 с.
Вкладка >Во вкладке Identity (Идентификация) (см. рис. 2.26) указывается учетная запись безопасности, используемая рабочим процессом в пуле приложений. По умолчанию рабочие процессы выполняются как сетевые службы (включена опция Network Service [Сетевая служба]) c ограниченными правами в операционной системе.

Рис. 2.26. Вкладка Identity (Идентификация)

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

  • Network Service (Сетевая служба). Параметр по умолчанию, являющийся наиболее безопасным и рекомендуемый для выполнения рабочих процессов. В этом случае невозможен непосредственный доступ рабочих процессов к операционной системе и управление ею.
  • Local Service (Локальная служба). Обеспечивает более широкий набор прав в операционной системе, чем предыдущая опция. Предоставляет право доступа к операционной системе, но запрещается доступ к объектам за пределами сервера. Запрещается и взаимодействие с рабочим столом.
  • Local System (Локальная система). Обеспечивает более широкий набор прав, чем Local Service (Локальная служба). На самом деле опция предоставляет права полного доступа ко всей системе.

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

  • Configurable (Настраиваемая). Указывает учетную запись, под которой будут выполняться рабочие процессы. Введите имя учетной записи или нажмите на кнопку Browse (Обзор) и выберите учетную запись в появившемся окне.

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

IIS 5.0 и IIS 4.0: скрытые различия

Секреты безопасного перехода на новую версию сервера Internet

В операционной системе Windows 2000 реализовано множество новых возможностей, в том числе очередная версия информационного сервера Internet — Microsoft IIS 5.0. Теперь уже не нужно разыскивать Windows NT 4.0 Option Pack, поскольку IIS 5.0 входит в состав ядра и поставляется на компакт-диске с Windows 2000.

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

Новая версия сервера существенно отличается от предыдущей. Многие отличия уже достаточно хорошо известны: новые методы аутентификации, более высокая производительность, возможность запускать приложения в режиме объединенных изолированных процессов (pooled-out-of-process). Другие особенности известны не так широко, но тем не менее и они важны.

[Прим. редакции: Out-of-process сервер — это компонент, который реализован в виде отдельной программы, содержащей объекты. Этот тип сервера всегда работает в собственном пространстве процессов и поэтому практически не зависит от каких-либо программ клиента.]

Установка

При установке IIS 4.0 пользователь должен указать, где разместить корневые каталоги Web- и FTP-сервера. Из соображений безопасности и оптимизации администраторы систем предпочитают не располагать корень Web-сервера на томе С.

Однако в процессе обычной установки Windows 2000 корневой Web-каталог IIS 5.0 размещается на С: без каких-либо указаний со стороны администратора. Единственный способ установить информационный сервер IIS 5.0 в другое место — это выполнить автоматическую (unattended) установку. Чтобы запустить такую установку, можно воспользоваться утилитой Sysocmgr, поставляемой вместе с Windows 2000, и указать место для корневого каталога Web, FTP и inetsrv (последний по умолчанию находится в каталоге c:winnt). Если после установки IIS 5.0 обнаружится, что все относящиеся к информационному серверу продукты располагаются на диске С, следует немедленно переустановить IIS 5.0 в автоматическом режиме с указанием правильного размещения корневых каталогов. Информацию об особенностях автоматической установки можно найти в одном из следующих источников:

  • в статье Microsoft «How to Change the Default Installation Paths for FTP and the Web» (http://support.microsoft.com/ support/kb/articles/q259/6/71.asp);
  • в материалах Windows 2000 Resource Kit Deployment Planning Guide;
  • в документе «Microsoft Windows 2000 Guide to Unattended Setup» (unattend.doc), в файле support oolsdeploy.cab на компакт-диске Windows 2000.

Изменения в структуре файлов и каталогов

Каталог IISHelp. Справочный каталог IIS 5.0 — IISHelp — находится в каталоге \%systemroot%winnthelpiishelp. Help-файлы предыдущей версии, IIS 4.0, расположились там же, только каталог назывался раньше iis, а не iishelp. Справочные файлы зачастую «завязаны» со всевозможными административными инструментами, мастерами (wizard) и программами, доступ к которым должен быть ограничен. По этой причине в IIS 4.0 изначально заложена некоторая угроза безопасности, поскольку общедоступным объявляется весь справочный каталог целиком, включая файлы NT Help, что отображается в виде некоторого виртуального каталога на сайте Default Web. В IIS 5.0 виртуальный каталог Help отображается на сайте Default Web в каталог iishelp, а не в родительский каталог help.

Каталог Adminscripts. Примеры административных сценариев IIS 5.0 содержатся в файлах .vbs. Они демонстрируют возможности Microsoft Active Directory Service Interfaces (ADSI), связанные с обслуживанием Web-сервера. Найти каталог сценариев Adminscripts можно в inetpub. Для IIS 4.0 аналогичные данные были размещены в каталоге Adminsam-ples по адресу: \%systemroot%system32inetsrv.

Default-документы. В процессе установки IIS 4.0 создавались сайты Default Web и Administrative Web. На сайте Default располагался документ, который отображался всякий раз при обращении к «новоиспеченному» серверу. IIS 5.0 не создает подобный документ, вместо этого формируется активная серверная страница IIS-Start.asp. Когда происходит обращение к IISStart.asp, система проверяет, локальное это обращение или удаленное. Если локальное, то IISStart.asp запускает localstart.asp. Если запрос удаленный, то выдается сообщение Under Construction. Приложение IIS-Start.asp выполняется только в том случае, когда нет ни файла de-fault.asp, ни файла default.htm. Если создать такой default-документ, то он будет использоваться вместо IIS-Start.asp в процессе запуска IIS 5.0.

Каталог IISADMPWD. Сайт Default Web IIS 4.0 содержал виртуальный каталог IISADMPWD, где хранились файлы, с помощью которых пользователи могли менять пароли своих учетных записей через Web-браузер. Если выполняется «чистая» установка IIS 5.0 (т. е. не обновление IIS 4.0, а установка «с нуля»), то выясняется, что сайт Default Web больше не содержит виртуальный каталог IISADMPWD. Однако, несмотря на это, все необходимые файлы для изменения паролей через Web-браузер на сервере присутствуют. Чтобы предоставить пользователям доступ к этим файлам, нужно следовать рекомендациям, изложенным в статье Microsoft «IISADMPWD Virtual Directory Is Not Created During Clean Install of IIS 5.0» (http://support.microsoft.com/ support/kb/articles/q269/0/82.asp). Предоставление пользователям права менять пароль через обычный Web-браузер сопряжено с определенным риском. Об этом подробнее рассказано в других статьях Microsoft — «Malformed HTR Request Returns Source Code for ASP Scripting Files» (http://support.microsoft.com/ support/kb/articles/q260/0/69.asp) и «GET on HTR File Can Cause a `Denial of Service` or Enable Directory Browsing» (http://support.microsoft.com/ support/kb/articles/q267/5/59.asp). Кроме того, в первом номере нашего журнала за 2001 г. этому посвящена статья Кена Спенсера «Изменение паролей через Internet».

Отличия в работе

Неудаляемый анонимный пользователь. Во время установки IIS 5.0 и IIS 4.0 создается учетная запись IUSR_servername. С ее помощью регистрируются анонимные соединения с Web-сервером. Из соображений безопасности администраторы IIS 4.0 зачастую удаляют или переименовывают учетную запись IUSR_servername. При попытке удалить или переименовать аналогичную запись IUSR в IIS 5.0 программа воссоздаст ее при перезагрузке сервера. Единственный «обходной маневр» — создать и использовать аналог учетной записи IUSR без префикса IUSR в ее названии. Более подробно об этом рассказано в статье Microsoft «Correction and Addendum to Internet Information Services 5.0 Release Notes» (http://support.microsoft.com/ support/kb/articles/q254/2/60.asp).

Меньшая зависимость от реестра. Одно из наиболее серьезных скрытых отличий IIS 5.0 состоит в практически полной зависимости настроек сервера от метабазы данных, а не от реестра системы. Метабаза IIS 5.0 содержит множество параметров, которые в версии IIS 4.0 хранились в разделах реестра. Этот факт не так очевиден, поскольку раздел HKEY_LOCAL_MAC-HINESystem CurrentControlSetServicesInetinfo по-прежнему присутствует в реестре и отражает определенную информацию для новой версии IIS точно так же, как это было в предыдущей версии. На самом деле такой раздел нужен только для обеспечения обратной совместимости с IIS Microsoft Management Console (MMC).

WWW Distributed Authoring and Versioning (WebDAV). WebDAV — это разработанный с целью расширения возможностей протокола HTTP функциями файлового ввода/вывода. RFC 2518 описывает стандарт WebDAV, который позволяет открывать, сохранять, переименовывать, осуществлять поиск, создавать, изменять и удалять файлы на сервере IIS 5.0 непосредственно из приложений Microsoft Office, рабочего стола Windows 2000 и браузера Microsoft Internet Explorer (IE) 5.0.

WebDAV автоматически активизируется в версии IIS 5.0, и отключить его невозможно. Сервер IIS 5.0 выполняет постоянный мониторинг всего HTTP-трафика на предмет присутствия Web-DAV-команд, в том числе связанных с собственным изобретением Microsoft — Translate header. Когда сервер распознает команду WebDAV, Web-сервер обращается к расширению Internet Server API (ISAPI) — библиотеке httpext.dll — для обработки WebDAV-запроса. Web-DAV не зависит от расширений файлового API, поэтому нельзя найти httpext.dll в ссылках приложений, запущенных на IIS 5.0. Хотя httpext.dll — это расширение ISAPI, избавиться от него не удастся.

Контроль операций файлового ввода/вывода на Web-сервер — основа системы безопасности Web, а стандарт WebDAV разрешает пользователям выполнять файловые операции; таким образом, применение Web-DAV создает потенциальную угрозу безопасности. Для предотвращения доступа к файлу с использованием стандарта WebDAV обычная фильтрация на уровне порта не помогает, поскольку обращение к файлу осуществляется через HTTP-порт (порт 80).

Для того чтобы записать файлы на сервер через WebDAV, необходимо разрешение на запись для IIS 5.0 (IIS 5.0 Write). Это разрешение не привязано к определенному пользователю, и его активизация предоставляет всем пользователям право записывать файлы на Web-сервер. Так что, разрешая использовать WebDAV, администратор вынужден полностью полагаться на систему прав NTFS, чтобы проконтролировать доступ к файлам. Но право записи IIS 5.0 тем не менее не дает пользователям возможности модифицировать Active Server Pages (ASP) или другие файлы сценариев.

Экран 1. Предоставление доступа к тексту сценария.

Чтобы редактировать файлы сценариев, следует установить флажок Script source access, единственное свойство WebDAV, которое можно настраивать в IIS 5.0. На Экране 1 показана вкладка Home Directory в окне Default Web Site Properties. Когда устанавливаются флажки Script source access и Write и используется WebDAV-приложение, открывающее ASP или иной связанный с ним файл сценария, IIS 5.0 передает исходный текст ASP, вместо того чтобы выполнять код ASP, и посылает результат HTML. Флажок Script source access можно установить как на уровне всего Web-сайта, так и для отдельных страниц.

С применением WebDAV также связаны такие проблемы, как отказ в обслуживании (Denial of Service (DoS), блокировка файлов и нелегальный доступ к исходным текстам. В ответ на проявившиеся проблемы после внедрения WebDAV-программирования (в частности, команды Translate:f) Microsoft выпустила бюллетень безопасности Security Bulletin MS00-058, «Patch Available for `Specialized Header` Vul-nerability» (http://www.microsoft.com/technet/ security/bulletin/ms00-058.asp). Некоторые вопросы на ту же тему рассматриваются в статьях Microsoft «Internet Information Service May Re-turn Source of Active Server Pages File» (http://support.microsoft.com/ support/kb/articles/q256/8/88.asp) и «The Translate:f Security Hole» (http://www.4guysfromrolla.com/ webtech/0815001.shtml). Дополнительную информацию об остальных настройках системы безопасности можно найти в документации WebDAV, включенной в состав IIS 5.0.

Application mappings. Сервер IIS использует отображение приложений (application mappings) для привязки файлов с различными расширениями к тем или иным исполняемым программам. К примеру, в соответствии с алгоритмом application mappings файлы с расширением ASP перенаправляются для обработки asp.dll. При желании можно добавить новое отображение, чтобы позволить IIS воспользоваться файлами сценариев практически любого типа (Perl, Rexx или PHP).

Чтобы добраться до вкладки App Mappings в IIS 5.0 или IIS 4.0, нужно выбрать вкладку Home Directory в окне Default Web Site Properties, щелкнуть Configuration и затем App Mappings. Того же результата можно добиться путем установки произвольного виртуального каталога в качестве приложения.

Экран 2. Закладка IIS 5.0 App Mappings с разрешенными командами.

Экран 2 иллюстрирует вкладку App Mappings для IIS 5.0, а Экран 3 — для версии IIS 4.0. Стрелки, указывающие на правые колонки на том и другом экране, подчеркивают существенное различие между IIS 5.0 и IIS 4.0. Колонки озаглавлены по-разному: для IIS 5.0 — это Verbs, а для IIS 4.0 — Exclusions. По умолчанию, IIS 5.0 не разрешает использовать новые команды (verbs) в спецификации HTTP. Устанавливая связь приложение-исполняемый модуль, нужно указать команды, разрешенные системой для работы с HTTP. Сервер IIS 4.0, наоборот, по умолчанию разрешает использовать новые команды. Поэтому для IIS 4.0 нужно указать команды, запрещенные системой (исключения).

Экран 3. Закладка IIS 4.0 App Mappings с запрещенными командами.

Если проигнорировать сказанное или не заметить разницу в заголовках колонок App Mappings и указать исключенные команды (к примеру, DE-LETE и PUT), вместо разрешенных (к примеру, GET и POST) сервер возвратит сообщение об ошибке 403.1 Execute Access Forbidden («Исполнение запрещено»), сопроводив его маловразумительным дополнением: «You have attempted to execute a CGI, ISAPI or other executable program from a directory that does not allow programs to be executed.» («Попытка выполнить CGI, ISAPI или другую программу из каталога, который не предназначен для выполнения программ».) Поддавшись на это провокационное сообщение, можно никогда не отыскать причину ошибки. Система аудита здесь не поможет, так же как ничего не удастся добиться ни с помощью программы Filemon (выполняет мониторинг используемых в системе файлов, доступна по адресу: http://www.sysinternals.com), ни с помощью иной техники мониторинга, основанной на анализе разрешений NTFS (разрешения исполнять программы в данном случае). Предоставление группе Everyone права Full Control на исполняемые файлы тоже проблемы не решит.

Организация пула сокетов (Socket pooling). Когда для создания Web-сайта используется IIS 4.0, Web-сервер выделяет TCP-сокеты специально для Web-сайта. Например, если создано 20 Web-сайтов, каждый со своим IP-адресом, IIS 4.0 назначает сокет-соединение для каждого из этих 20 сайтов, и каждый из них «прослушивает» 80-й порт. В этом случае ограничиваются масштабируемость и производительность, поскольку ресурсы, занимаемые незадействованными сокетами, не могут использоваться другими сайтами.

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

Если Web-сервер имеет только один IP-адрес, то, вероятнее всего, для создания нескольких Web-сайтов на одном адресе IP используются заголовки хоста (host headers). Пул сокетов не поддерживает сайты такого типа, организация связного пула доступна только для Web-сайтов с различными IP-адресами. В оперативной документации по сайтам второго типа (основанные на анализе заголовка хоста) этот нюанс в работе IIS 5.0 описан недостаточно внятно.

В файле Readme из состава IIS 5.0 (см. статью Microsoft «Contents of Internet Information Server 5.0 Release Notes» по адресу: http://support.microsoft.com/ support/kb/articles/q250/9/79.asp) показаны скрытые различия в организации пула сокетов. Если для повышения производительности системы выполняется тонкая настройка одного из Web-сайтов, работающих на пул, это неизбежно оказывает воздействие и на все остальные Web-сайты в пуле сокетов. Отрегулировать параметры производительности Web-сайта можно на вкладке Performance в окне Default Web Site Properties, как показано на Экране 4.

Экран 4. Настройка производительности Web-узла.

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

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

где х — это номер Web-сайта. IIS 5.0 использует нумерацию, а не имена Web-сайтов, для того чтобы идентифицировать различные Web-сайты. IIS 5.0 назначает номера в той последовательности, в которой сайты создавались. С помощью программы MetaEdit 2.1 (ее можно загрузить по адресу: http://support.microsoft.com/ support/kb/articles/q232/0/68.asp) можно выяснить номера Web-сайтов, о которых идет речь. Номер Web-сайта также определяется с помощью следующей команды:

где websitename — это имя данного сайта, которое показывает Internet Service Manager (ISM). Важное замечание: команда чувствительна к регистру.

Протоколирование работы. Если в журналах IIS 5.0 или IIS 4.0 отображается неверное время, проблема может заключаться в том, что вместо локального времени сервера используется время по Гринвичу (Greenwich Mean Time, GMT). В соответствии со стандартом консорциума World Wide Web Consortium (W3C) в работе сервера IIS применяется GMT, поэтому программа, отвечающая за журнал событий, должна выполнять конвертацию GMT в локальное время. Для этого можно воспользоваться утилитой Convlog из состава Microsoft Windows Internet Information Server Resource Kit или же пакетом Windows 2000 Resource Kit.

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

IIS 5.0 обладает новым свойством, разрешающим проблему перехода даты. В окне Properties Web-сайта нужно последовательно выбрать вкладку Web Site, Enable Logging, W3C Extended Logging Format как Active Log Format и щелкнуть Properties. На вкладке General Properties в окне Extended Logging Properties (см. Экран 5) можно установить флажок Use local time for file naming and rollover, чтобы журнальные файлы формировались с учетом перехода даты в локальной временной зоне. Но вот датировка самих записей внутри файлов по-прежнему соответствует Гринвичу. Напоминаю, что сказанное относится к IIS 5.0.

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

Для версии IIS 4.0 также можно настроить использование локального времени при определении перехода даты и именовании журнальных файлов, хотя технически это несколько сложнее, чем для IIS 5.0. В соответствии с рекомендациями, изложенными в статье Microsoft «Log Files Rolled Over According to GMT, Not Local Time Zone» (http://support.microsoft.com/ support/kb/articles/q193/6/12.asp), нужно набрать следующую команду для установки ключа метабазы в соответствии с локальным временем сервера:

В этой команде w3svc — это название раздела метабазы Web-сервера, а х — номер Web-сайта, для которого устанавливается локальное время регистрации журналов. Это решение можно использовать для любого сервера NT 4.0 с установленным Service Pack 5 (SP5) или SP4. В пакете исправлений SP6 описанная проблема с переходом даты решена.

Сквозная аутентификация (pass-through authentication). При создании виртуального каталога, который отображается на сетевой диск (remote share), требуется указать имя и пароль, чтобы система предоставила доступ к сетевому диску. Каждое очередное обращение к виртуальному диску будет происходить в контексте безопасности указанного имени и пароля, если только специально не указать в настройках сервера (справедливо и для IIS 4.0, и для IIS 5.0), что можно учитывать данные зарегистрированного пользователя. Такое использование учетных данных для аутентификации при обращении к сетевому диску называется pass-through authentication («сквозная аутентификация»).

Если требуется подключить сквозную аутентификацию для сервера IIS 5.0, нужно воспользоваться методом, который, с одной стороны, поддерживает сквозную аутентификацию, а с другой — создает в метабазе соответствующую запись. Сквозными называются следующие методы аутентификации: Anonymous (пароль не указывается), Basic и Integrated Windows. При использовании метода Integrated Windows в системе, настроенной на работу по протоколу Kerberos, сквозная аутентификация также поддерживается. Но для работы по протоколу Kerberos должны выполняться определенные требования:

  • клиент: Windows 2000 + IE 5.0 или старше;
  • сервер: Windows 2000 + IIS 5.0;
  • клиент и сервер принадлежат одному домену или находятся в доменах, связанных доверительными отношениями;
  • сервер IIS 5.0 сконфигурирован для использования метода Integrated Windows;
  • и, наконец, сервер Windows 2000 и ресурс Web, к которому происходит обращение, должны иметь одинаковые имена или же нужно использовать программу Setspn (входит в состав Windows 2000 Resource Kit) для регистрации имени Web в качестве нового имени Service Principal Name.

Для редактирования метабазы можно воспользоваться файлом сценария или программой MetaEdit 2.1. Приведенный ниже ASP-код активизирует сквозную аутентификацию на IIS 5.0 для виртуального каталога Protected на сайте Default. При этом нужно указать номер Web-сайта вместо единицы (1), а также имя виртуального каталога, названного в нашем случае Protected.

Команда IISReset. Остановка и запуск IIS 4.0 — процесс весьма сложный, но перезапускать Web-сервер из-за всевозможных «подвисаний» приходится часто. Многие администраторы IIS 4.0 в штатном режиме перезапускают серверы в ночное время либо используют командные файлы для перезапуска остановленных служб.

Для решения этой проблемы разработчики Microsoft добавили в Windows 2000 команду IISReset.exe. Это утилита командной строки, которая позволяет останавливать и запускать IIS 5.0 и зависимые службы. Чтобы остановить службы Internet, следует вместо значка Services в панели управления воспользоваться командой IISReset. В документации отмечается: «You should use the (IISReset) method, and not the Windows 2000 Services snap-in, for restarting Internet services. Because several Internet services run in one process, Internet services shut down and restart differently from other Windows services.» («Для перезапуска служб Internet следует использовать метод IISReset, а не оснастку Windows 2000 Services. Поскольку некоторые службы Internet функционируют как единый процесс, остановка и перезапуск служб сервера Internet протекают иначе, чем те же операции с другими службами Windows 2000».)

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

где seconds — время в секундах.

Экран 6. Настройка Windows 2000 для запуска IISReset.

Если IIS 5.0 не отвечает, можно запустить IISReset через Windows 2000 Service Control Manager (SCM). Для активизации этой возможности следует открыть контекстное меню IIS Admin Service приложения IIS 5.0 Services, выбрать Properties и щелкнуть на вкладке Recovery (см. Экран 6). На экране приведены установки по умолчанию, но при необходимости можно описать процедуру восстановления и задать необходимые временные параметры. На Экране 6 указано, что при любом сбое (первом, втором и всех последующих) будет вызываться программа IISReset. В поле Run file описывается файл, запускаемый после каждого сбоя (в данном случае указан C:WINNTSystem32iisreset.exe). Администратор может задать различные действия после первого, второго и всех последующих сбоев, а также вызвать специально разработанную программу, которая перезапустит остальные процессы, запишет нужные сообщения в журналы событий или оповестит обслуживающий персонал. Для вывода всех параметров, перечисленных в документации на IIS 5.0 для команды IISReset, достаточно просто набрать в командной строке:

SSL-соединения и Client Access Licenses

В дискуссионной статье, затрагивающей вопросы реализации сервера IIS 5.0 («Deploying Windows 2000 with IIS 5.0 for Dot Coms: Best Practices», http://www.microsoft.com/ technet/iis/iisdtcom.asp), отмечается, что .COM-бизнес должен иметь достаточное количество клиентских лицензий (Client Access Licenses, CAL) для использования всех доступных соединений Secure Sockets Layer (SSL).

При работе с Windows 2000 необходимо, чтобы каждый зарегистрированный пользователь обладал своей лицензией (CAL), а система, в свою очередь, ограничивает число одновременно подключенных пользователей количеством лицензий, приобретенных при покупке системы. Служба Windows 2000 License Logging Service отслеживает соблюдение этих правил. Если попытаться отключить эту службу, то Windows 2000 установит максимальное число одновременных соединений равным 10.

Неизвестный для большинства администраторов систем второй счетчик — счетчик SSL-соединений — существует отдельно от счетчика пользователей, прошедших аутентификацию. Windows 2000 + SP1 ограничивает число SSL-соединений, включая анонимные, количеством клиентских лицензий — CAL. Другими словами, имея 10 CAL, можно установить 10 зарегистрированных и 10 анонимных соединений одновременно. Т. е. лимит SSL-соединений существует, и если он превышен, то выводится сообщение:

Поскольку не имеет смысла ограничивать число анонимных SSL-соединений количеством закупленных клиентских лицензий, Microsoft Product Support Services (PSS) выпустила специальную заплатку. Дополнительную информацию о поведении IIS 5.0 при превышении лимита CAL можно найти в статье Microsoft «Error Message: HTTP 403.15 — Forbidden: Client Access Licenses Exceeded» (http://support.microsoft.com/ support/kb/articles/q264/9/08.asp). Можно модифицировать реестр, чтобы помешать IIS 5.0 и службе License Logging Service препятствовать созданию SSL-сессий. В раздел реестра HKEY_LOCAL_MACHINESYSTEM CurrentControlSetServicesW3SVCParameters нужно добавить параметр EnableCAL (тип REG_DWORD) и установить его значение равным 0. В статье Microsoft «What`s New in the Windows 2000 Server Licensing Model» (http://www.microsoft.com/windows2000/ guide/server/pricing/changes.asp) объясняется, что нарушения лицензионного соглашения с Microsoft не происходит, если число имеющихся лицензий CAL меньше числа анонимных SSL-соединений.

SSL и групповые символы (wildcards)

В IIS 4.0 если несколько сайтов размещаются на одном хосте или используется множество серверов одного домена (например, mysite.com), то в сертификате можно использовать групповой символ (например, *.mysite.com) для описания Common Name (CN) и присвоить этот сертификат всем сайтам или серверам. Работать с групповыми символами можно в том случае, если лицензия допускает многократное использование. К сожалению, IIS 5.0 уже не поддерживает групповые символы для описания CN. Если же Common Name сервера IIS 5.0 не соответствует DNS-имени, браузер пользователя выведет сообщение о том, что сертификат не соответствует запрашиваемому сайту. Пользователь должен будет подтвердить, что с сайтом установлены доверительные отношения.

Через некоторое время планируется выпустить заплатку для исправления этой ошибки (Windows 2000 SP1 проблему не решил). Подробнее о групповых символах CN рассказано в статье Microsoft «Accepted Wildcards Used by Server Certificates for Server Authentication» (http://support.microsoft.com/ support/kb/articles/q258/8/58.asp).

Переход к IIS 5.0

Существует еще ряд отличий между версиями IIS 4.0 и IIS 5.0, включая изменения в ASP, использование ODBC, COM+, MetaEdit, появление новых мастеров и шаблонов безопасности, изменения в настройках реестра. Большая часть изменений в IIS 5.0 существенно облегчает работу и демонстрирует способность Micro-soft извлекать уроки из неудач в реализации IIS 4.0. Я полагаю, что на версию IIS 5.0 следует перейти, как только представится такая возможность.

Но когда это произойдет, важно помнить, что существенные и не всегда явные отличия IIS 5.0 от предыдущей версии Web-сервера могут сказаться на системе безопасности, тонкой настройке и программировании сервера.

Брет Хилл — автор, инструктор и консультант по Microsoft IIS. Ведет сайт www.IISAnswers.com. Имеет сертификаты MCSE, MCT, MCP+Internet и A+/Network+. С ним можно связаться по адресу: brett@iisanswers.com.

Поделитесь материалом с коллегами и друзьями

Публикация баз данных «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. Что понадобится

  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:\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 появится в списке групп или пользователей. Даем ей полные права на на выбранную директорию и нажимаем «Применить» (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)\1cv8\8.3.4.389\bin\wsisapi.dll» на «C:\Program Files\1cv8\8.3.4.389\bin\wsisapi.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).

Смотрите также:

Веб-сервер представляет собой некоторую программу (службу), принимающую HTTP-запросы от клиентов, обычно от веб-браузеров, обрабатывающую данные запросы и выдающую им ответ, как правило, вместе с HTLM-страницей (сайтом), изображением, файлом, медиа-потоком или другими данными. Ниже подробно рассмотрим…

IIS (Internet Information Services) – один из немногих штатных инструментов Windows, которым можно пользоваться, не ища более приемлемых альтернатив от других разработчиков. Веб-сервер IIS с поддержкой языка PHP можно использовать…

FTP-Сервер обеспечивает возможность передачи файлов между клиентом и сервером с помощью протокола FTP. Здесь будет рассказано как запустить FTP-сервер в Windows Server 2008 R2. 0. Оглавление Добавление службы FTP-сервер Добавление…

Что такое IIS

простыми словами

(Internet Information Services) — программное обеспечение для развертывания веб-сервера. Входит в состав Windows.

Поддерживает работу по протоколам HTTP, HTTPS, FTP, SMTP, POP3.

IIS можно установить не только на Windows Server, но и на клиентскую версию операционной системы. Например, в Windows 10 установка выполняется из оснастки «Программы и компоненты» включением встроенного компонента Службы IIS. Для развертывания более новой версии, IIS можно скачать с сайта Microsoft.

Настройка IIS производится в консоли «Диспетчер служб IIS». Она устанавливается на любой компьютер в сети, позволяя управлять сервером удаленно, либо ставится непосредственно, на веб-сервер.

Установка IIS 7.0 и основы администрирования

Продолжаем изучать web сервера и сегодня мы рассмотрим установку и основные настройки Internet Information Services (IIS) версии 7.0 на платформе Windows Server 2008. А также научимся привязывать такие отдельные технологии как PHP к нашему web серверу.

Как Вы знаете, PHP отлично работает с Apache и MySql, но вдруг у Вас возникла необходимость использовать именно IIS в связке с PHP, то тогда данная статья именно для Вас. Сегодня мы рассмотрим основы IIS 7.0, научимся устанавливать данный web сервер и привязывать к нему PHP. Мы будем рассматривать IIS 7 версии, но не расстраивайтесь, если у Вас, например, стоит Windows Server 2008 R2, где устанавливается IIS версии 7.5, он практически не отличается от 7 версии.

Для начала давайте немного поговорим об архитектуре IIS 7.0. Данный Web-сервер полностью построен на модульной основе, т.е. в отличие от IIS 6.0, который просто устанавливался как роль сервера и все. В IIS 7 более гибко можно настроить свой веб сервер, путем установки только необходимых модулей, которые Вам нужны. Это огромный плюс так как:

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

Установка Web-Сервера IIS 7.0 на Windows Server 2008

Перед установкой хочу дать небольшой совет, устанавливайте данную роль сервера на полностью «голый» сервер, т.е. помимо службы IIS там ничего недолжно быть установлено (имеется в виду из ролей сервера) исключением может быть только DNS сервер. Существует даже отдельная редакция Windows Server 2008 Web Server, которая полностью ориентирована именно на Web сервер, кстати, она намного дешевле других редакций этой операционной системы.

Существует несколько вариантов установки данной роли в Windows:

  • Через графический интерфейс (мы будем использовать);
  • Через командную строку (на мой взгляд, не удобно, так как приходиться полностью вручную писать все необходимые модули, которые Вам нужны, причем их названия регистрозависимые);
  • Также через командную строку, но уже с использованием XML файла (удобно, если Вам необходимо поднять много web серверов, Вы просто один раз повозитесь с xml файлом, а потом просто будете запускать одну команду в командной строке и все).

Теперь давайте перейдем непосредственно к самой установки этого сервера. Предполагается, что у Вас уже установлена операционная система Windows Server 2008.

Нажимаем Пуск -> Администрирование -> Диспетчер сервера -> переходим на пункт роли и жмем «Добавить роли».

Затем нажимаем «Далее», а на следующем шаге выберите Веб-сервер (IIS).

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

В моем случае мы будем прикручивать PHP и для поддержки этого нужно выбрать пункт CGI, а если Вы вдруг используете asp.net, то выбирайте соответствующие пункты, да и вообще почитайте, что там есть еще (описание располагается справа), чтобы потом не удивляться, «почему у меня нет этого и не работает вот это». Жмите далее.

А теперь жмем «Установить». Ждем несколько минут, и после того как мастер добавления ролей скажет, что «Установка прошла успешно», жмем закрыть. И сразу же можем проверить работоспособность нашего web сервер, путем простого открытия браузера и набора в адресной строке http://localhost и если у Вас появилась следующая картинка, то Ваш сервер работает!

Как администрировать IIS?

Для управления web сервером используется графический интерфейс, но сразу могу сказать, что управлять можно также и напрямую редактировав xml файлы. Все настройки web сервера IIS7 хранятся в виде xml файлов. Настройки сразу для всего сервера IIS (сразу для всех сайтов) хранятся в файле applicationHost.config, который располагается по следующему пути:

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

Кстати, по умолчанию корневая директория вашего web сервера располагается по адресу: C:\inetpub, в которой и располагаются все Ваши сайты, когда Вы открыли сайт по умолчанию, то у Вас открылись файлы из папки wwwroot.

Перейдем непосредственно в нашу графическую панель управления web сервером IIS 7, для этого откройте «Пуск->Администрирование->Диспетчер служб IIS». В итоге у Вас откроется, вот тая панель:

Где, слева будет дерево Ваших сайтов (у нас пока только сайт по умолчанию) и приложений, по центру сгруппированы все настройки, а справа свойства той или иной настройки.

Привязываем PHP к IIS

Теперь нам необходимо установить PHP, для этого нужно скачать дистрибутив php с официального сайта (http://windows.php.net/download/) в виде msi пакета (нажав на ссылку installer), я скачал версию php-5.3.10-nts-Win32-VC9-x86.msi, но Вы можете скачать версию и поновей.

Перейдем к установке PHP, вообще проблем возникнуть не должно, только на одном окне обязательно выберите следующий пункт: IIS Fast CGI.

Создание нового сайта в IIS

После этого давайте создадим новый сайт (в IIS это будет узел), щелкнем правой кнопкой по пункту «Узлы» и нажмем «Добавить веб-узел». Заполняем как на картинке, локальную директорию для нового сайта я создал в папке C:\inetpub\my, но Вы можете создать ее хоть на другом диске.

Если у Вас будет не один сайт, то у Вас возникнет необходимость отделять их друг от друга. Существует несколько способов, первый, например, посадить их на разные порты, но в некоторых случаях это не удобно. У сайта по умолчанию он 80, а у нового сайта 8080, но если у Вас будет много сайтов и Вы хотите чтобы они работали на одном порту, скажем на 80, то Вам необходимо заполнять поле «Имя узла», другими словами, это домен сайта. После того как Вы указали здесь, например, как я mysite, Вам необходимо сделать соответствующую запись на DNS сервере или, если у Вас мало компов и просто нет DNS сервера, или Вы просто разработчик, то пропишите это соответствие в файле hosts (например, 10.10.10.2 mysite)

Теперь создайте в папке нового сайта (C:\inetpub\my) файл, например, index.php с таким содержимым

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

Как Вы заметили никаких специальных действий на сервере IIS 7, для привязки php, мы не делали (за исключением того, что мы при установке добавили компонент CGI), за нас это сделал сам дистрибутив php и сервер iis.

Полезные настройки IIS

Теперь рассмотрим пару настроек сервера IIS 7, например, мы хотим, чтобы у нас на одном сайте по умолчанию открывался документ mydoc.php. Для этого перейдите на нужный сайт и откройте настройки «Документ по умолчанию» и добавьте нужный Вам документ, причем Вы можете указать несколько документов, задав им необходимый приоритет.

И после этого Вы сразу же увидите, что в Вашей папке с новым сайтом Mysite, появился файл web.config (как я раньше и говорил). Для того чтобы проверить, что Вы сделали все правильно, создайте файл mydoc.php с любым содержимым, и откройте в браузере адрес Вашего сайта, и по умолчанию должен загрузиться этот документ.

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

Например, Вы хотите настроить на вашем сайте Basic аутентификацию, но в данный момент Вы не можете найти эту настройку на сервере, для этого Вам необходимо до установить нужный компонент. Открываем диспетчер сервера «Роли->Веб-сервер(IIS)->Добавить службы ролей» и выбираем «Обычная проверка подлинности» или по англ. Basic authentication.

Открываем заново «Диспетчер служб IIS» и мы замечаем, что в пункте «Проверка подлинности» у нас появился еще один пункт «Обычная проверка подлинности». Для того чтобы ее включить, Вам необходимо отключить «Анонимная проверка подлинности» и соответственно включить «Обычная проверка подлинности». Не забудьте создать пользователей, в данном случае «Локальных пользователей». «Диспетчер сервера ->Конфигурация ->Локальные пользователи» щелкаем правой кнопкой мыши «Создать пользователя», я создал пользователя test. Теперь при обращении к нашему сайту будет появляться форма для аутентификации.

Вводите своего пользователя и если Вы все сделали правильно, то Вы опять попадете на свой сайт!

Теперь поговорим о самой любимой связке — это PHP+MySql. Для того чтобы добавить поддержку MySql, достаточно просто установить эту СУБД (подробная установка рассматривается в статье — Установка сервера MySql и обзор средств его управления и администрирования) и все! Можете создавать сайты в связке IIS 7+PHP+MySql.

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

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