Iis об управлении доступом


Содержание

Установка и конфигурирование IIS

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

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

В этой статье основное внимание уделяется IIS 8. Хотя машина, на которой запущен IIS 8, здесь называется сервером, IIS можно запускать под управлением версий Windows как для рабочей станции, так и для сервера. На рабочих станциях доступны не все, но большинство функциональных возможностей, что позволяет размещать сложные веб-сайты. По возможности мы рекомендуем использовать Windows Server, однако недорогой альтернативой могут послужить Windows 7 или Windows 8.

В Microsoft привязывают выпуски IIS с выпусками Windows. В состав Windows Server 2008 и Windows Vista входит версия IIS 7.0, в состав Windows Server 2008 R2 и Windows 7 — версия IIS 7.5, а в состав Windows Server 2012 и Windows 8 — IIS 8. Версии — 7.0 и 7.5 — в Microsoft обобщенно называют IIS 7, что может вносить путаницу. Версию IIS, поддерживаемую операционной системой, изменить нельзя — Windows Server 2008 будет использовать только IIS 7.0. Например, модернизировать ее до версии IIS 7.5, используемой в Windows Server 2008 R2, не получится.

Установка IIS

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

Установка IIS на настольных версиях Windows (Windows Vista, Windows 7 и Windows 8)

Каждая версия операционной системы Windows предлагает свою версию IIS — IIS 8 (в Windows 8), IIS 7.5 (в Windows 7) или IIS 7 (в Windows Vista). Во всех этих версиях Windows, IIS включен, но изначально не установлен. Чтобы установить его, необходимо выполнить следующие действия:

Откройте панель управления.

Нажмите кнопку «Включение или отключение компонентов Windows». Теперь вам нужно подождать, пока Windows исследует вашу систему.

Найдите элемент Internet Information Services (Службы IIS) в верхней части списка и нажмите на галочку чтобы включить его:

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

Убедитесь, что вы выбрали поддержку ASP.NET. Для этого раскройте узел Службы Интернета Компоненты разработки приложений ASP.NET (Internet Information Services World Wide Web Services Application Development Features ASP.NET):

Если вы хотите использовать поддержку IIS в Visual Studio, которая позволяет вам создавать виртуальные каталоги IIS непосредственно в диалоговом окне New Web Site, вам нужно выбрать пункт «Совместимость управления IIS 6» в разделе «Средства управления веб-сайтом» (Web Management Tools IIS 6 Management Compatibility).

Как только вы выбрали нужные параметры IIS, нажмите кнопку OK для завершения установки.

Установка IIS в Windows Server 2008

Установка и настройка IIS одинакова для Windows Server 2008 и Windows Server 2008 R2. Необходимые шаги описаны ниже:

Запустите диспетчер сервера. Чтобы сделать это, нажмите кнопку Start и выберите All Programs Administrative Tools Server Manager.

Выберите узел Roles в дереве слева.

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

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

После установки вам будет предложено настроить веб-сервер. Как в настольных версиях Windows, вы можете выбрать специфические особенности IIS 7, которые должны быть включены.

Если вы работаете в ASP.NET с версией .NET Framework 4.5, то эту версию .NET Framework необходимо будет установить (центр разработчиков .NET Framework)

Установка IIS в Windows Server 2012

Процесс установки IIS в Windows Server 2012, по существу, такой же, как и в Windows Server 2008. Основное различие заключается в том, что пользовательский интерфейс несколько отличается. Подробное описание вы можете найти перейдя по ссылке Installing IIS 8 on Windows Server 2012.

Управление IIS

При установке IIS, он автоматически создает каталог с именем C:\inetpub\wwwroot, который представляет ваш веб-сайт. Все файлы в этом каталоге будет отображаться, как будто они находятся в корневом каталоге вашего веб-сервера.

Чтобы добавить дополнительные страницы на ваш веб-сервер, можно скопировать файлы HTML, ASP или ASP.NET напрямую в каталог C:\Inetpub\wwwroot. Например если добавить файл TestFile.html в этот каталог, вы можете запросить его в браузере через URL-адрес http://localhost/TestFile.html. Вы даже можете создавать вложенные папки для группирования связанных ресурсов. Например, вы можете получить доступ к C:\inetpub\wwwroot\MySite\MyFile.html через браузер, используя URL-адрес http://localhost/MySite/MyFile.html.

Каталог wwwroot удобен для запуска простых примеров и статичных страниц. Для правильного использования ASP.NET вы должны сделать свой собственный виртуальный каталог для каждого веб-приложения, которое вы создаете. Например, вы можете создать папку с любым именем на любом диске вашего компьютера и поместить ее в виртуальный каталог IIS как будто она расположена в каталоге C:\inetpub\wwwroot.

Прежде чем начать работу, вам нужно запустить диспетчер служб IIS. Его можно найти в меню Start (Пуск). Конкретное расположение может зависеть от используемой версии Windows (IIS Диспетчер служб IIS). Ярлык программы будет располагаться в разделе Programs (Программы) или Administrative Tools (Администрирование). Начальная страница IIS Manager показана на рисунке ниже:

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

Если развернуть элемент сервера в древовидном представлении в левой части экрана, отобразится элемент Sites (Сайты), содержащий единственную запись Default Web Site (Веб-сайт по умолчанию). Сайт — это коллекция файлов и каталогов, образующих веб-сайт. На одном сервере IIS может поддерживать несколько сайтов, как правило, на различных портах TCP/IP (по умолчанию используется порт 80). Сочетание имени сервера и порта сайта образует первую часть URL-адреса. Например, при использовании сервера mywebserver с сайтом, подключенным к порту 80, URL-адрес выглядит следующим образом:

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

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

Чтобы проверить работоспособность IIS выберите Default Web Site и в правой области диспетчера служб IIS выберите пункт «Запустить». После этого нажмите кнопку «Обзор *.80 (http)» чтобы открыть страницу сайта в браузере:

Как видите, в моем случае я поменял порт используемый по умолчанию (с 80 на 8080). Я сделал это, т.к. на 80-м у меня запущен локальный Apache-сервер. Если у вас возникает такая же проблема, то изменить порт можно щелкнув правой кнопкой мыши по сайту (Default Web Site) и выбрав в контекстном меню «Изменить привязки» (Bindings). После этого в диалоговом окне можно изменить порт, используемый по умолчанию.

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

Iis об управлении доступом

Опубликовано: Февраль 2012 г.

Обновлено: Февраль 2012 г.

Назначение: Windows Server 2012, Windows Server 2012 R2

В этом документе описан процесс установки веб-сервера IIS и его настройки для обслуживания статического содержимого. Статическим содержимым является веб-страница (HTML), которая доставляется пользователю в том виде, в котором она хранится. И наоборот, динамическое содержимое формируется веб-приложением, таким как ASP.NET, классическим приложением ASP или приложением PHP. Статическое содержимое отображает одинаковые сведения для всех пользователей; динамическое содержимое может отображать сведения о конкретном пользователе, например имя пользователя.

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

Содержание документа

Чтобы получить максимум от этого учебника, необходимо иметь компьютер, который работает под управлением одной из следующих операционных систем:

    Windows Server® 2012

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

Эту процедуру можно также выполнить с помощью пользовательского интерфейса Windows или командной строки.

На начальной странице щелкните плитку Диспетчер сервера, а затем нажмите кнопку ОК.

В диспетчере сервера выберите Панель мониторинга и щелкните Добавить роли и компоненты.

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

На странице Выбор типа установки выберите Установка ролей или компонентов и нажмите кнопку Далее.

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

На странице Выбор ролей сервера укажите Веб-сервер (IIS) и нажмите кнопку Далее.

На странице Выбор компонентов просмотрите выбранные по умолчанию компоненты, а затем нажмите кнопку Далее.

На странице Роль веб-сервера (IIS) нажмите кнопку Далее.

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

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

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

На странице Ход выполнения установки убедитесь, что установка роли веб-сервера (IIS) и требуемых служб ролей успешно завершена, а затем нажмите кнопку Закрыть.

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

http://localhost

Должна отобразиться страница приветствия служб IIS по умолчанию.

На начальной странице введите Панель управления, а затем в результатах поиска щелкните значок Панель управления.

В панели управления выберите Программы, а затем Включение и отключение компонентов Windows.

В диалоговом окне Компоненты Windows щелкните Службы IIS, а затем нажмите кнопку ОК.

Будет установлен набор компонентов IIS 8 по умолчанию. Установите только компоненты по умолчанию для веб-сервера статического содержимого.

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

http://localhost

Должна отобразиться страница приветствия служб IIS по умолчанию.

В командную строку с повышенными привилегиями или в скрипт введите следующую команду:

Start /w pkgmgr /iu:IIS-WebServerRole;IIS-WebServer;IIS-CommonHttpFeatures;IIS-StaticContent;IIS-DefaultDocument;IIS-DirectoryBrowsing;IIS-HttpErrors;IIS-HealthAndDiagnostics;IIS-HttpLogging;IIS-LoggingLibraries;IIS-RequestMonitor;IIS-Security;IIS-RequestFiltering;IIS-HttpCompressionStatic;IIS-WebServerManagementTools;IIS-ManagementConsole;WAS-WindowsActivationService;WAS-ProcessModel;WAS-NetFxEnvironment;WAS-ConfigurationAPI

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

Откройте диспетчер служб IIS.

    При работе в Windows Server 2012 на начальной странице щелкните Диспетчер сервера, а затем нажмите кнопку ОК. В диспетчере сервера выберите меню Сервис, а затем выберите Диспетчер служб IIS.

При работе в Windows 8 на начальной странице введите Панель управления, а затем в результатах поиска щелкните значок Панель управления. На экране Панель управления выберите Системы и безопасность, затем Администрирование, после чего выберите Диспетчер служб IIS.

На панели Соединения правой кнопкой мыши щелкните узел Сайты, а затем выберите Добавить веб-сайт.

В диалоговом окне Добавление веб-сайта в поле Имя сайта введите понятное имя веб-сайта.

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


В поле Физический путь введите физический путь к папке веб-сайта или нажмите кнопку обзора (. ), чтобы перейти к файловой системе для поиска папки.

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

В списке Тип выберите протокол для веб-сайта.

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

В поле Порт введите номер порта.

Дополнительно введите имя заголовка узла для веб-сайта в поле Заголовок узла.

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

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

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

Примечание
Чтобы этот синтаксис работал, необходимо либо находиться в следующем каталоге, либо иметь каталог в пути: %windir%\system32\inetsrv

appcmd add site /name:string /id:цел_чис_без_зн /physicalPath:строка /bindings:строка

Переменная name является именем, а переменная id — положительным целым числом, которое следует назначить сайту. Переменные name и id являются единственными переменными, которые требуются для добавления сайта с помощью команды appcmd. Но при добавлении сайта без задания значений атрибутов bindings и physicalPath сайт будет невозможно запустить.

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

Переменная bindings содержит сведения, используемые для доступа к сайту. Она должна иметь вид протокол/IP_адрес:порт:заголовок_узла. Например, если указать для веб-сайта привязку http/*:85: , то это будет означать, что он прослушивает HTTP-запросы на порту 85 для всех IP-адресов и доменных имен (также известных как заголовки узлов или имена узлов). С другой стороны, привязка http/*:85: marketing.contoso.com настраивает сайт для прослушивания HTTP-запросов на порту 85 для всех IP-адресов и доменного имени marketing.contoso.com.

Чтобы добавить веб-сайт contoso с идентификатором 2 и содержимым в папке c:\contoso, который прослушивает HTTP-запросы на порту 85 для всех IP-адресов и доменного имени marketing.contoso.com, введите в командную строку следующее:

appcmd add site /name:contoso /id:2 /physicalPath:c:\contoso /bindings:http/*:85:marketing.contoso.com

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

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

На странице Проверка подлинности выберите Анонимная проверка подлинности.

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

В диалоговом окне Изменение учетных данных анонимной проверки подлинности выберите один из следующих параметров.

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

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

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

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

Используйте следующий синтаксис, чтобы изменить учетную запись по умолчанию для анонимного доступа:

appcmd set config /section:anonymousAuthentication /userName:строка /password:строка

Переменная username является учетной записью, используемой службами IIS для анонимного доступа, а переменная password — это пароль, который хранится в файле конфигурации по умолчанию в зашифрованном виде. Например, чтобы использовать учетную запись Moe и пароль pssword1 для анонимного доступа, в командной строке введите следующее:

appcmd set config /section:anonymousAuthentication /userName:Moe /password:pssword1

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

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

На панели Действия нажмите кнопку Добавить.

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

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

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

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

appcmd set config /section:defaultDocument /+files.[value=’строка‘]

Переменная string является добавляемым в список именем файла. Например, чтобы добавить файл home.html в список документов по умолчанию, в командной строке введите следующее:

appcmd set config /section:defaultDocument /+files.[value=’home.html’]

Чтобы удалить файл home.html из списка документов по умолчанию, в командной строке введите следующую команду и нажмите клавишу ВВОД:

appcmd set config /section:defaultDocument /-files.[value=’home.html’]

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

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

Выберите Включить сжатие статического содержимого для сжатия службами IIS статического содержимого.

В поле Статическое содержимое настройте следующие параметры:

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

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

Кроме того, можно установить флажок Лимит места на диске на пул приложений (в МБ) и ввести максимальный размер дискового пространства (в мегабайтах), отводимого для каждого пула приложений, которое будет использоваться службами IIS при сжатии статического содержимого. Например, если существует 20 пулов приложений на сервере и параметр Лимит места на диске равен 100, максимальный объем дискового пространства будет равен 2 ГБ. Если выбрать параметр Лимит места на диске на пул приложений (в МБ) и ввести в текстовом поле определенное значение, то при достижении порогового значения службы IIS автоматически очистят временную папку в соответствии с правилом удаления наиболее давно использовавшихся файлов. Значение по умолчанию — 100 МБ для каждого пула приложений.

Нажмите кнопку Применить на панели Действия.

Чтобы включить сжатие HTTP статического содержимого, в командной строке введите следующую команду и нажмите клавишу ВВОД:

appcmd set config /section:urlCompression /doStaticCompression:True

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

appcmd set config /section:urlCompression /minFileSizeforComp:цел_чис /directory:строка /maxDiskSpace:цел_чис

Переменная minFileSizeforComp служит для задания минимального размера файла в байтах, подлежащего сжатию. Значение по умолчанию — 256. Переменная directory служит для указания каталога, где временно сохраняются и кэшируются сжатые версии статических файлов. По умолчанию используется следующая папка:

%SystemDrive%\inetpub\temp\IIS Temporary Compressed Files

Переменная maxDiskSpace служит для определения максимального количества места на диске (в мегабайтах) для каждого пула приложений, которое будет использоваться службами IIS при сжатии статического содержимого. Значение по умолчанию — 100 МБ для каждого пула приложений.

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

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

Для повышения защищенности веб-сервера настройте фильтрацию запросов. Инструкции см. в статье Настройка фильтрации запросов в IIS.

Iis об управлении доступом

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

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

Windows Server 2008

Windows Server 2003

Windows XP Professional

Дополнительные сведения об обновлении операционной системы для использования IIS 7.0, см. в разделе Обновление ASP.NET 1.1 в IIS7 в Windows Vista &Windows Server 2008.

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

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

Запуск диспетчера служб IIS из диалогового окна выполнения

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

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

Запуск менеджера служб IIS из консоли администрирования служб

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

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

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

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


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

Открытие диспетчер служб IIS из командной строки

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

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

Открытие диспетчера служб IIS в Windows Server 2003

Выберите в меню Пуск выберите пункт Администрирование и затем выберите Диспетчер служб IIS .

Открытие диспетчера служб IIS в Windows XP

В меню Пуск выберите пункт Панель управления .

Примечание.

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

Выберите Переключение к классическому виду .

Щелкните дважды значок Администрирование и затем выберите пункт Службы IIS .

Открытие диспетчера служб IIS в Windows 2000

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

Удалённое подключение к серверу IIS с помощью консоли управления IIS Manager

Управление серверами IIS через RDP может быть крайне утомительным, особенно, если приходится администрировать десятки таких серверов, поэтому возникает желание управлять ими через стандартную консоль управления сервером IIS. В случае использования Server Core другого выбора просто нет. В данной статье я опишу процесс настройки клиентской (Windows 10) и серверной (Windows Server 2020 Server Core) части для удалённого управления.
Настройка управления серверами IIS 8.0 (Windows Server 2012, Windows 8), 8.5 (Windows Server 2012 R2, Windows 8.1) делается так же.

Устанавливаем IIS Management Service на сервере IIS

Management Service необходим для удалённого управления сервером IIS — устанавливаем на стороне сервера IIS:

В Server Manager этот компонент называется так:

Включение удалённого управления

Если сервер IIS установлен на Windows Server c графическим интерфейсом, то включение удалённого управления можно настроить в консоли IIS Manager:

Меняем тип запуска службы WMSVC (Web Management Service) на автоматический:

Если сервер IIS установлен на Server Core, то включаем удалённое управление сначала в реестре, а потом запускаем службу WMSVC и переводим её в режим запуска авто:

Запускаем редактор реестра и переходим в раздел HKLM\SOFTWARE\Microsoft\WebManagement\Server
Меняем параметр EnableRemoteManagement c 0 на 1

Настраиваем службу Web Management Service:

Удалённое подключение

При подключении к серверу IIS с другого сервера проблем возникнуть не должно. А если необходимо подключаться с клиентской ОС, например Windows 10, то требуется дополнительная настройка.
Сначала необходимо установить саму консоль управления IIS:

Разница консолей управления в серверной ОС и клиентской ОС выглядит так:

В клиентской ОС отсутствует диалог удалённого подключения к серверу.
Для того, чтобы соответствующие диалоги появились, необходимо на Windows 10 установить IIS Manager for Remote Administration:

После установки перезапускаем консоль IIS и проверяем, появился ли диалог подключения:

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

На этом всё. После установки сервер готов к администрированию.

Iis об управлении доступом

Щёлкните правой кнопкой мыши по Default Web Site выберете permissions и попробуйте добавить пользователей из другого леса.

Сделал. Теперь на каждой машине филиала при попытке доступа к порталу так же появляется окно авторизации, но если ввести данные вручную в формате \ и пароль то доступ откроется. Хотя можно поставить галочку «сохранить пароль», делать это на всех машинах и для всех учётных записей в филиалах достаточно сложно. А можно ли сделать, чтобы учетные данные пользователей филиалов подставлялись без участия самих пользователей, как это происходит в центральном офисе?

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

Все ответы

Примечание.
Morgenstern написано:

Ситуация такая. В организации несколько доменов на Win2k3. В центральном офисе есть корпоративный портал (на этой машине стоит Win2k3 и IIS) на котором запущен внутренней корпоративный портал. Пользователи внутри этого домена заходят на портал без какой либо авторизации. Однако, пользователи доменов в филиалах, обладая возможностью открыть машину портала со своих рабочих мест (пуск->выполнить-> \\ ), не могут зайти на портал через веб-интерфейс. При попытке сделать это, появляется окошко доменной авторизации, а учетные данные пользователей филиалов не принимаютсят. Хотя если ввести данные пользователя центрального офиса, портал откроется. В локальную группу Users на машине с порталом добавлены учетные записи пользователей филиалов. Как можно сделать возможность доступа из филиалов к порталу центрального офиса, не включая Анонимную Авторизацию.

Какие отношения между доменами ?

Какие настройки на закладке Security в IIS ?

Шесть новых компонентов безопасности в IIS 7.0

Уязвимые места в защите Web-сервера могут привести к катастрофическим последствиям. Наглядный пример: Microsoft Internet Information Services (IIS) 5.0 печально известна недостаточной продуктивностью.

Успешное управление Web-сервером и уменьшение вероятности атак

Со временем компания Microsoft перепроектировала IIS с акцентом на безопасность. В результате появилась версия IIS 6.0, признанная самым надежно защищенным коммерческим Web-сервером (об этом свидетельствует малое число рекомендаций по продукту на сайте Secunia, см. secunia.com/product/1438).

В версии IIS 7.0 надежно защищенная архитектура IIS 6.0 получила дальнейшее развитие. Благодаря модульности можно полностью удалять отдельные компоненты, снижая вероятность атаки на Web-сервер. Пулы приложений, реализованные в IIS 6.0 с целью изолировать приложения друг от друга (и процессов Web-сервера), размещены в «песочнице». Новые функции делегирования позволяют владельцам управлять сайтами без необходимости в повышении прав. Фильтрация запросов с помощью URLscan встроена в сервер. А администраторы могут непосредственно в IIS 7.0 задать правила, указывающие, кто из пользователей имеет доступ к различным URL-адресам.

Эти новшества относятся к числу улучшений безопасности IIS 7.0. Они заслуживают внимательного изучения и могут даже заставить администраторов пересмотреть подходы к управлению и настройке Web-узлов.

«Песочницы» для приложений

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

Web-приложения выполняются в рабочих процессах. Пулы приложений сопоставляют Web-приложения с рабочими процессами. Конкретный рабочий процесс используется только для приложений из одного пула. Файл рабочего процесса в IIS 6.0 и IIS 7.0 — w3wp.exe.

В IIS 6.0 новые Web-узлы и приложения размещаются в одном пуле приложений. Этот пул приложений по умолчанию работает с учетной записью NetworkService. Администратор может вручную создавать новые пулы приложений и распределять Web-приложения по пулам. По умолчанию эти пулы приложений также работают с учетной записью NetworkService, что может привести к нежелательным последствиям во время выполнения, когда все Web-приложения функционируют с одинаковыми правами. Приложение в пуле A может прочитать конфигурацию пула приложений B и даже получить доступ к содержимому файлов приложений пула B. Достаточно просто создать новые пулы приложений и настроить для каждого специальные учетные записи, но управлять этими учетными записями в течение длительного времени утомительно.

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

В качестве дополнительной меры предосторожности можно изменить списки управления доступом ACL файлов с контентом, чтобы предоставить доступ к уникальному идентификатору SID пула вместо NetworkService. Это помешает приложению в пуле A прочитать файлы контента приложения в пуле B.

IUSR и IIS_IUSRS

С идентификацией процесса косвенно связан вопрос об удостоверении, используемом сервером для анонимных запросов. В прошлых версиях IIS в качестве удостоверения для анонимных пользователей применялась локальная учетная запись IUSR_servername. В IIS 7.0 появилась новая встроенная учетная запись IUSR. Нельзя выполнить локальную регистрацию с учетной записью IUSR, поэтому у нее нет пароля (то есть нет опасности отгадывания паролей). Учетная запись IUSR всегда имеет один и тот же идентификатор SID, поэтому списки управления доступом можно переносить между компьютерами Windows Server 2008 (а также компьютерами Windows Vista). Если применять учетную запись IUSR нельзя (например, если анонимным запросам требуется доступ к сети с проверкой подлинности), можно отключить учетную запись анонимного пользователя, и IIS 7.0 будет применять для анонимных запросов учетные данные рабочего процесса.

Еще одно новшество — встроенная группа IIS_IUSRS. Эта группа заменяет группу IIS_WPG. В IIS 6.0 группа IIS_WPG обеспечивает минимальные права для запуска рабочего процесса, и администратор должен вручную добавить в эту группу учетную запись, чтобы предоставить пользовательские учетные данные для рабочего процесса. В IIS 7.0 аналогичную роль играет группа IIS_IUSRS, но явно добавлять учетные записи в группу не требуется. Вместо этого IIS 7.0 автоматически зачисляет учетные записи в IIS_IUSRS, когда они назначаются в качестве удостоверения для пула приложений. Как и учетная запись IUSR, группа IIS_IUSRS — встроенная, поэтому у нее всегда одинаковое имя и идентификатор SID во всех экземплярах Server 2008. В результате списки управления доступом и другие настройки полностью переносимы между компьютерами Windows Server 2008 (и Vista).

Делегирование функций

Не каждую настройку Web-сервера нужно защищать административными правами. Некоторые настройки представляют собой простые решения уровня приложения, которые могут быть выполнены разработчиками и менеджерами продуктов. Например, в IIS 6.0 административные права необходимы, чтобы изменить документ по умолчанию для Web-приложения. Но действительно ли для замены default.aspx на profile.aspx всегда требуются административные права?

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

Делегированные настройки, такие как документ по умолчанию, можно изменить на уровне Web-узла или приложения, непосредственно изменив файл web.config, или из графического интерфейса пользователя IIS Manager (Экран 1), который обновляет web.config за администратора. В разделе system.webServer файла web.config содержатся параметры конфигурации IIS 7.0, как показано на Экране 2.

Нужные разделы определены в специальном файле конфигурации, именуемом applicationHost.config. У каждого раздела applicationHost.config есть режим делегирования по умолчанию. В примере на Экране 3 можно изменить документ по умолчанию и настройки просмотра каталогов, но не разделы asp, caching и cgi.

Как поступить, если существуют веские основания запретить владельцу Web-узла изменять документ по умолчанию? Решение простое: в IIS 7.0 можно блокировать элементы конфигурации, которые в результате нельзя назначить или изменить в файлах web.config. В случае с документом по умолчанию можно глобально изменить стандартный режим переназначения на Deny или явно установить режим переназначения Deny для конкретных мест с помощью тегов расположения. Группа разработчиков IIS предложила вводить такие изменения с помощью тегов расположения, как показано в Листинге 1. Делегирование функций очень удобно для перегруженных работой администраторов, так как позволяет наделить владельцев Web-узлов и приложений правом управлять теми настройками Web-сервера, которые влияют лишь на их сайты и приложения

Административное делегирование

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

В IIS Manager, как показано на Экране 4, пользователи могут подключиться к серверу IIS 7.0 с применением учетных данных Windows или учетных данных IIS Manager. Удобство учетных записей IIS Manager заключается в том, что они обеспечивают очень узкий и ограниченный набор прав для пользователя: административные права Web-узла IIS. Эти учетные данные вне IIS Manager бесполезны.

Для дистанционного использования имеется автономная версия IIS Manager для Windows Vista, Windows Server 2003 и XP. Прежде чем установить удаленное соединение в IIS Manager, необходимо явно разрешить дистанционное управление на Web Server:

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

Компания Microsoft предоставляет IIS 7.0 Manager для дистанционного управления по адресу www.iis.net/go/1524. Дополнительные ресурсы (в том числе подробные инструкции по настройке) можно найти, выполнив поиск с ключевыми словами «IIS 7.0 remote administration» на сайте iis.net. На этом сайте Microsoft приведены дополнительные сведения о новых компонентах IIS.

Встроенный фильтр запросов

Многие администраторы IIS-серверов знакомы с UrlScan, загружаемым инструментом для IIS 4.0 и более поздних версий, который ограничивает типы запросов, обслуживаемых IIS. Цель фильтрации запросов — защитить Web-сервер от потенциально опасных запросов.

В IIS 7.0 инструмент UrlScan был усовершенствован и вошел в состав модуля фильтрации запросов Web-сервера. Модуль фильтрации запросов отвергает запросы на основе настраиваемого критерия. Например, модуль может отвергнуть запросы с двойным кодированием или запросы необычного размера (большой объем полезных данных POST или слишком длинные URL-адреса). Можно также отвергать запросы по типу файлов, пути или командам HTTP, не поддерживаемым на сайте.

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

Авторизация URL

У Web-приложений часто есть области, доступ к которым предоставляется только определенным пользователям. Например, только менеджеру разрешено обращаться к отчетам о продуктивности сотрудников в системе управления кадрами. Страницы с ограничением обычно группируются в каталогах с такими именами, как Administration, Reporting или Moderation. В прошлых версиях IIS было довольно неудобно организовать надежную защиту этих разделов от несанкционированного доступа. Даже при использовании встроенной функции ASP.NET авторизации URL необходимо защитить такие данные, как файлы PDF и Excel, не подходящие для ASP.NET. Для управления правилами URL-авторизации ASP.NET приходится прибегать к утомительному процессу редактирования XML.

В IIS 7.0 сохранилась URL-авторизация ASP.NET, но в самом Web-сервере появилась дополнительная функция авторизации URL. Доступом к материалам любого типа (например, статическим, PHP, ASP) можно управлять по пользователям, группам и URL-адресам. Например, не составляет труда предоставить доступ ко всем объектам на пути Reporting только пользователям, принадлежащим к группе Managers, не затрагивая списков доступа к файлам. На Экране 5 показана конфигурация правил авторизации URL в IIS Manager.

Правила авторизации URL сохраняются в разделе system.webServer файлов web.config с синтаксисом, чуть отличным от правил авторизации ASP.NET, как показано в Листинге 2.

Поскольку правила авторизации целиком содержатся в файлах конфигурации (локальных web.config), их легко переносить между приложениями и серверами. А авторизация URL в IIS 7.0 применима к пользователям и группам Windows, так же, как к пользователям и ролям ASP.NET.

IIS совершенствуется

Разработчики IIS 7.0 усовершенствовали добротную систему безопасности IIS 6.0, сохранив базовую архитектуру IIS 6.0 с моделью изоляции пулов приложений/рабочих процессов, которая оказалась очень эффективной. При обсуждении мер безопасности IIS 7.0 особое внимание уделяется новшествам модульной архитектуры, но благодаря автоматическому распределению приложений по «песочницам», делегированию функций и авторизации URL задача надежной защиты Web-сервера стала проще.

Об авторе: Дерек Хетчард (derek@ardentdev.com) — консультант и тренер, имеет звание Microsoft MVP

Листинг 1. Использование тегов расположения для назначения режима переназначения Deny


Методы и средства управления веб-сервером IIS 7.5

Веб-каст демонстрирует основное средство управления веб-сервером IIS: Диспетчер Internet Information Services.

В веб-касте продемонстрированы:

  1. Установка веб-сервера.
  2. Создание WEB-сайтов.
  3. Редактирование настроек сайта.
  4. Редактирование конфигурационных файлов.
  5. Добавление компонентов на веб-сервер
  6. Добавление FTP.
  7. Создание FTP-сайтов.

Управление удалённым IIS

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

От первого варианта я отказался, поскольку довольно сложно разобраться в методах инструмента, что увеличивает шанс ошибки. При этом работа с ним напоминает работу с COM-компонентами.
Пример создания сайта с использованием WMI:

Второй вариант – это работа с конфигурационными XML файлами. То есть предполагалось практически вручную изменять root web.config файл на web серверах. Как понимаете, данный вариант меня тоже не устроил.

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

Конечно трудности при реализации решения всё-таки имелись. Я потратил много гугл-часов, чтобы заставить эту Microsoft.Web.Administration работать так, как мне было нужно. В Интернете можно найти много информации о том, как работать с данной библиотекой, что с её помощью можно сделать и т.п. Однако, вся эта информация сильно разбросана по разным статьям. Это и побудило меня написать о своём опыте «погружения в мир подводных камней» Microsoft.Web.Administration. Я постарался собрать в ней все проблемы, с которыми я столкнулся, и их решения. Вдруг кому-то пригодится.

Итак, начнём техническую часть.

Конфигурация систем

Разработка

Подключение Microsoft.Web.Administration

Первые проблемы появились сразу ещё на этапе испытания библиотеки. Подключил её к проекту, написал код, который должен был создать сайт и получил ошибку доступа Exception from HRESULT: 0x80070005 (E_ACCESSDENIED). Как выяснилось после прочтения ряда описаний подобной проблемы (например, stackoverflow.com/questions/8963641/permissions-required-to-use-microsoft-web-administration ), Microsoft.Web.Administration для доступа к root web.config файлу требует права администратора.

Хорошо, создаём пользователя на удалённом сервере с логином и паролем. Создаём такого же пользователя на локальном компьютере с такими же логином и паролем (это важно, иначе приложение не залогиниться на удалённую машину). Запускаем. Та же проблема!

Изучаем проблему доступа более детально. Выясняется, что недостаточно создать пользователя с правами администратора. Ведь начиная с Windows Vista, появилась система UAC. И даже администратор компьютера в понимании этой системы вовсе не администратор, а пользователь с расширенными правами. Получается, чтобы наше приложение заработало, нужно отключить UAC на удалённом сервере. Однако, отключения UAC через Администрирование Windows недостаточно, т.к. проблема остаётся. Нужно полностью отключать UAC. Я делал это через реестр, как описано в статье по ссылке. Да, согласен, это не безопасно. Но это единственное решение. Благо заказчик на это согласен.

Пробуем запустить наше приложение. Эврика! Сайт создан. Значит, можно двигаться дальше.
После того, как приложение было развёрнуто на тестовом сервере, проявилась вторая проблема конфигурирования: модуль не мог найти библиотеку Microsoft.Web.Administration и падал с ошибкой. Выяснилось, что в GAC на сервере лежала сборка другой версии. Чтобы справиться с данной трудностью, было принято решение включить копирование нужной библиотеки в Bin проекта.

Последняя сложность, связанная с подключением библиотеки, также возникла из-за версионности сборок. На этапе активной разработки были найдены библиотеки с версиями 7.0.0.0 и 7.5.0.0 Вторая упрощала реализацию некоторых нетривиальных вещей, например, установку AlwaysRunning для пула приложений. Поэтому я сначала подключил её. Но после выгрузки на тестовый сервер, приложение снова упало. Оказывается, Microsoft.Web.Administration 7.5.0.0 работает только с IIS Express . Поэтому если вы планируете управлять полноценным IIS , используйте версию 7.0.0.0.

Это были основные проблемы при подключении библиотеки Microsoft.Web.Administration и при её подготовке к решению поставленных задач. Впереди была реализация функциональности согласно требованиям заказчика. О них речь пойдёт дальше.

Реализация требований

Среди методов, которые я реализовал в модуле, есть и банальные, и такие, над которыми пришлось поломать голову. Я не буду описывать те вещи, которые можно легко найти в Интернете, и всё то, что и так понятно из названий методов библиотеки Microsoft.Web.Administration, например, создание веб сайта и байндингов для него. Вместо этого я сконцентрируюсь на проблемах, над которыми пришлось подумать, и для которых было сложно найти решение в Интернете (или вообще не удалось это сделать).

Многопоточность и многозадачность

Согласно требованиям к модулю, необходимо было предусмотреть возможность параллельного создания нескольких веб сайтов на одном или нескольких удалённых серверах. При этом два потока не могут управлять одним удалённым IIS , т.к. по факту это означает изменение одного и того же root web.config файла. Поэтому было принято решение сделать Lock потоков по имени веб сервера. Сделано это следующим образом:

В этом примере ServerName — это NetBIOS имя компьютера в локальной сети.

Каждый метод разрабатываемого модуля оборачивается в данный handler. Например, проверка существования веб сайта:

Почему мы каждый раз заново подключаемся к серверу?
Во-первых, система, в рамках которой выполнялось создание данного модуля, свободно конфигурируемая. Поэтому мы не знаем заранее, какие методы будут вызваны, в каком порядке и как долго будет нужен экземпляр класса модуля (назовём его MWAConnector).
Во-вторых, коннектор может понадобиться другому потоку. А если у нас открыто подключение одного коннектора, то мы не можем позволить подключение второго, т.к. иначе будет ошибка параллельного доступа к файлу на редактирование.
Исходя из этих соображений, в коде держится один экземпляр класса MWAConnector для нескольких операций, каждая из которых будет выполняться в независимом контексте отдельного подключения.
Недостаток такого подхода — затраты ресурсов на создание подключений. Этими издержками было решено пренебречь, т.к. они не являются узким местом модуля: непосредственное выполнение операции занимает в несколько раз больше процессорного времени, чем создание подключения.

Установка AlwaysRunning

Одной из задач было создание пула приложения с флагом AlwaysRunning. В свойствах класса ApplicationPool из библиотеки Microsoft.Web.Administration 7.0.0.0 можно найти многое: AutoStart, Enable32BitAppOnWin64, ManagedRuntimeVersion, QueueLength. Но там нет RunningMode. В сборке версии 7.5.0.0 это свойство есть, но, как было отмечено выше, эта версия работает только с IIS Express .
Решение проблемы нашлось. Делается это так:

Для сохранения изменений необходимо вызывать метод CommitChanges().

Установка PreloadEnabled

Другой проблемой, с которой я столкнулся, было отсутствие встроенного свойства для установки флага PreloadEnabled для веб приложений и сайта. Этот флаг отвечает за уменьшение времени первичной загрузки сайта после рестарта. Он полезен, когда сайт долго «прогревается». А некоторые из развёртываемых заказчиком сайтов именно такие.
В качестве решения я приведу фрагмент кода, который создаёт веб приложение для сайта:

Отметим, что имя веб-приложения должно начинаться с «/». Это необходимо, т.к. иначе возникнет ошибка в методе получения, создания или удаления приложения.

Изменение параметров сайта, как веб приложения

Иногда возникает необходимость изменить пул приложений для самого сайта. Проблема в том, что в классе Site нет такого свойства. Его можно найти только у экземпляра класса Application.
Решение – получить веб приложение сайта:

Удаление сайта

Удаление сайта, казалось бы, — простая задача, и достаточно вызвать _server.Sites.Remove(site). Однако, недавно возникла проблема при удалении сайта, имеющего https байндинг. Дело в том, что Microsoft.Web.Administration удаляя сайт, удаляет и информацию о байндингах, что логично. При этом, библиотека также удаляет запись в системном кофиге о соответствии IP:port:SSL. Таким образом, если несколько сайтов имеют байндинги, использующие один и тот же сертификат, то при удалении любого из этих сайтов, все остальные теряют связку байндинга и сертификата.

Более свежая библиотека Microsoft.Web.Administration содержит метод для удаления байндинга, принимающий вторым параметром флаг о необходимости удаления записи из системного конфига. Поэтому решение проблемы выглядит следующим образом:

Заключение

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

Я привёл основные проблемы, с которыми столкнулся во время работы над модулем, и найденные мной решения. Надеюсь, этот материал будет кому-нибудь полезен. Если у кого-либо есть вопросы или предложения, задавайте – постараюсь ответить.

Работа с консолью 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 об управлении доступом

Добрый день уважаемые читатели и гости блога. Для меня было большим удивлением, что в Америке и в Европе, очень много хостинов используемых людьми, построены на Windows Internet Information Services, и ее доля там больше чем Linux Apache или nginx. В сегодняшнем посте я бы хотел рассказать, начинающим системным администраторам, как создавать сайты iis в Windows Server 2012 R2, точнее административную часть, так как там уже вы сами будите выбирать, будет ли это ресурс на движке Werdpress или же статический сайт, вариантов очень много.

Подготовка IIS для развертывания сайта в IIS

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

Я хочу создать отдельный сайт, пускай это будет iis.pyatilistnik.org, для этого переходим в пункт сайты и через правый клик ,выбираем пункт «Добавить веб-сайт»

Само создание сайта iis состоит из вот таких не хитрых пунктов. Во первых, вы задаете:

  • Имя сайта — у меня это iis.pyatilistnik.org
  • Указываете физический путь — это та папка в которой будет лежать контент для сайта, например, картинки, документы, html странички, если сайт с базой данных, то многое будет лежать в ней.

Далее вы производите привязку сайта к нужному ip адресу, делается это после того, как вы на своем DNS сервере создали A или Cname запись для ресурса. Так же задаем тип привязки, имеет ввиду протокол, тут их всего два обычный незащищенный http и защищенный сертификатом шифрования https, о нем я подробно говорил.

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

Пробуем запустить ваш сайт. И так, сайт в диспетчере IIS на Windows Server 2012 r2 мы создали, пробуем его запустить, для этого у вас есть в пункте управление веб-сайтом, отдельный пункт «Обзор»

Если все хорошо, то вы получите доступ к ресурсу, если же нет, то увидите запрещающее сообщение:

Тут два варианта:

  • У вас пустая папка с сайтом, попробуйте поместить в нее, хотя бы картинку, для тестирования
  • У вас просто нет прав на чтение данного каталога на уровне Windows

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

Перейдите на вкладку «Безопасность > Изменить > Добавить > Проверить имя» и через поиск найти нужную группу.

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

Открываем в браузере ваш сайт и проверяем.

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

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

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