Інтернет Windows Android

Windows Server. Налаштовуємо веб-сервер IIS

У цьому документі описаний процес установки веб-сервера IIS і його налаштування для обслуговування статичного вмісту. Статичним вмістом є веб-сторінка (HTML), яка доставляється користувачеві в тому вигляді, в якому вона зберігається. І навпаки, динамічний вміст формується веб-додатком, таким як ASP.NET, класичним додатком ASP або додатком PHP. Статичний зміст відображає однакові відомості для всіх користувачів; динамічний вміст може відображати відомості про конкретного користувача, такі як імена користувачів.

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

  • Для підвищення захищеності веб-сервера налаштуйте фільтрацію запитів. Інструкції див. У статті.
  • У минулому році мені довелося отсобеседовать близько 10-15 кандидатів на посаду веб-програміста на ASP.NET середньої кваліфікації. Як питань «на засипку», або «із зірочкою», я просив розповісти, що відбувається з HTTP-запитом від моменту його надходження на 80-й порт сервера до передачі управління коду aspx-сторінки. Статистика була гнітючою: жоден з кандидатів не зміг видати хоч що-небудь виразне. І цьому є своє пояснення: ні в MSDN з technet, ні на спеціалізованому ресурсі iis.net, ні в книгах a-la «ASP.NET для професіоналів», ні в блогах даній темі не приділяється належної уваги - інформацію доводиться збирати мало не по крупицях. Я навіть знаю людей, які вирішили написати свій власний веб-сервер (Ігор, Георгій, привіт!), Щоб не розбиратися в роботі IIS. Єдина розумна стаття - «Introduction to IIS Architectures» Ріган Темплін (Reagan Templin). Але і вона залишається на периферії інтересів аспнетчіков.

    Хоча мені особисто вже не так цікаві чисто технічні питання, я вирішив зібрати в купу свій накопичений досвід, розкопати на просторах Мережі цікаві деталі і передати це сакральне знання масам, поки воно ще не застаріло. Відразу обмовлюся, що стаття орієнтована більшою мірою на IIS 7.x, іноді будуть відгалуження про 6-ку. З 8-й версією в роботі не стикався, тому вирішив обійти її в цій статті стороною. Але, впевнений, читач легко розбереться з вісімкою, освоївши викладений нижче матеріал.







    1. Загальний план

    Отже, почнемо з кінця, а потім розглянемо окремі аспекти трохи пильніше.
    В англомовній літературі процес обробки запиту в IIS називається «request processing pipeline» - щось на зразок «конвеєра обробки запиту». У загальних рисах він представлений на малюнку нижче для http-запиту.

    Мал. 1. HTTP request processing pipeline (IIS 7.x).

    Таким чином, http-запит проходить по «складальної стрічці конвеєра» через наступне:

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

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

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

    Тепер зупинимося трохи детальніше на кожному зі згаданих компонентів.
    2.1. HTTP.SYS
    На транспортному рівні IIS використовує Прослуховувач протоколів (protocol listeners), які розташовуються поверх стека TCP / IP. Найцікавіший нам такий компонент - це системний драйвер HTTP.sys, який вбудований в ядро \u200b\u200bОС і працює з протоколами HTTP і HTTPS, що реєструється самостійно на прослушку всіх портів, на які будуть приходити запити до сайтів в IIS.

    Вбудований в ядро \u200b\u200bHTTP.sys став нововведенням в IIS 6, замінивши собою Windows Socket API - компонент перехоплення HTTP- і HTTPS-запитів на призначеному для користувача рівні в IIS більш ранніх версій. Ймовірно, інтеграція драйвера в ядро \u200b\u200bє тією самою причиною, по якій версія IIS жорстко прив'язана до версії Windows.

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

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

    Деякі настройки HTTP.sys винесені до реєстру Windows (більш докладно - Http.sys registry settings for Windows). До речі, там же - в реєстрі - можна підглянути звичайне місце прописки нашого громадянина:% SystemRoot% \\ system32 \\ drivers \\ http.sys.

    Зізнатися, в процесі написання даної статті я сам відкрив для себе деякі деталі. Наприклад, кешування відповідей на рівні драйвера HTTP.sys. Це допомогло мені пояснити один випадок дивного, як мені тоді здавалося, феномена в поведінці IIS. Маркетологи виклали на сайт swf-листівку перед черговим святом, але потім їм щось не сподобалося в назві файлу і вони його перейменували. Однак сайт продовжував видавати листівку по старому URL і навіть очищення браузерного кешу не допомагала. Тут вже підключився я, але ні перезапуск веб-сайту і всього пулу додатків, ні звернення до сайту в обхід корпоративного проксі-сервера не дали очікуваного результату. Але тепер-то ми знаємо, хто винен.
    2.2. World Wide Web Publishing Service (W3SVC)
    Дана служба (скорочено іменовану в специфікаціях WWW service) була представлена \u200b\u200bв IIS 6 в якості окремого компонента для роботи з протоколами HTTP / HTTPS і управління робочими процесами додатків і виконувала наступні функції:
    • Адміністрування драйвера HTTP.sys.
    • Управління робочими процесами.
    • Моніторинг показників продуктивності веб-сайтів.
    Ця служба функціонує в Windows Server 2003 в контексті процесу Svchost.exe (настройки можна подивитися в реєстрі HKEY_LOCAL_MACHINE \\ SYSTEM \\ CurrentControlSet \\ Services \\ W3Svc) На відміну від всіх інших служб IIS, які виконуються в контексті процесу Inetinfo.exe, і реалізована в Iisw3adm.dll.

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


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

    Раз вже зайшла мова про адаптери до Прослуховувач протоколів (protocol listener adpater), то давайте трохи затримаємося і подивимося, які вони бувають. В принципі IIS 7.x можна налаштувати для обробки запитів по будь-яким протоколам крім типових HTTP і FTP, наприклад, POP3, SMTP, Gopher. Ви навіть вільні придумати свій протокол для своєї веб або WCF-служби і реалізувати для нього всі необхідні компоненти, якщо не шкода свого часу. Швидше за все, адаптери та прослуховувачі для найбільш поширених протоколів доступні для вільного і комерційного завантаження - цього я не перевіряв. Але перш за все варто звернути увагу на стандартні служби (рис. 3), що поставляються с.NET Framework і інтегровані з IIS:

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


    Мал. 3. Перелік стандартних НЕ-HTTP-адаптерів в оснащенні Служб Windows.

    Але все-таки найбільш важливим для нас адаптером є саме WWW-служба, т.ч. зупинимося трохи докладніше на двох, що залишилися від IIS 6 функціях.

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

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

    2.3. Windows Process Activation Service (WAS)
    Отже, WWW-служба в IIS 7.x, як і в IIS 6, продовжує виконувати завдання по адмініструванню HTTP.sys і управління показниками продуктивності веб-сайтів. А ось завдання управління робочими процесами винесена в окрему службу - WAS. Вона запускається системою в єдиному екземплярі, зчитує конфігурацію з файлу % SystemRoot% \\ System32 \\ inetsrv \\ Config \\ ApplicationHost.configі налаштовує через відповідні адаптери Прослуховувач протоколів відповідно до зазначеної в ньому інформації. Нагадаємо, що для протоколів HTTP / HTTPS адаптером є служба W3SVC, а Прослуховувач - драйвер HTTP.sys. При перехопленні Прослуховувач запиту він через свій адаптер звертається до служби WAS для отримання робочого процесу додатки, якому буде передано запит для обробки і формування відповіді клієнтові.

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

    • Адаптери Прослуховувач (Listener adapters) - спеціальні служби Windows, що працюють з конкретним протоколом і які взаємодіють з WAS для направлення запитів до правильного робочому процесу.
    • Власне WAS. Вона відповідальна за створення робочих процесів і управління їх часом життя.
    • Виконуваний файл w3wp.exe - шаблон робочого процесу.
    • Менеджер додатків управляє створенням і утилізацією доменів додатків (application domains), які хостятся всередині робочого процесу.
    • Обробники протоколів - протоколозавісімие компоненти всередині робочого процесу, відповідальні за обмін даними між конкретним адаптером і робочим процесом. Є 2 типу обробників протоколів: у процесу (process protocol handler - PPH) і у домена додатку (AppDomain protocol handlers - ADPH).
    Нижче на малюнку представлений приклад схеми компонентів всередині якогось примірника робочого процесу додатки. Коли служба WAS запускає робочий процес, вона завантажує в нього згідно конфігурації програми необхідні обробники протоколів процесів (PPH) і за допомогою менеджера додатків створює усередині робочого процесу домен додатки, в якому буде хоститься додаток. Менеджер додатків завантажує код додатка в домен додатки і необхідні обробники протоколів рівня додатки (ADPH) для обробки повідомлень за відповідними мережевим протоколам.


    Мал. 4. Компоненти w3wp.exe для взаємодії із зовнішніми компонентами.

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

    А відповідні компоненти PPH і ADPH налаштовуються в дотнетовском machine.config:

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

    Зверніть увагу, що в стандартному режимі експлуатації IIS служба WAS, служба-адаптер для кожного Прослуховувач протоколу (в т.ч. W3SVC) і самі драйвери / прослуховувачі кожного з протоколів (в т.ч. HTTP.sys) запущені в ОС в єдиному екземплярі. Але окремі запити можуть направлятися різних програм в різних робочих процесах. З іншого боку, окремо взятому з додатком можуть направлятися запити по різних протоколах через відповідні адаптери. Мабуть, для коректної реалізації такої поведінки і була придумана архітектурна зв'язка драйвер протоколу - адаптер драйвера протоколу - служба активації (своєрідний регулювальник, точніше - маршрутизатор) - робочий процес.

    2.4. пул додатків
    При конфігурації веб-додатки крім прив'язок (binding) до параметрів запитів і інших налаштувань вказується приналежність до пулу додатків. Пул додатків став нововведенням в IIS 6 і був покликаний забезпечити ізоляцію веб-додатків один від друго і тим самим підвищити стабільність роботи веб-сервера в цілому. Суть полягає в тому, що код програми виконується всередині спеціального процесу Windows - w3wp.exe. Тому виключення всередині веб-додатки призведе до краху тільки цього процесу і жодним чином не вплине на доступність веб-додатків в інших пулах і роботу служб IIS. Більш того, служба WAS спробує заново запустити впав сайт, і зовнішні клієнти можуть навіть не помітити проблем в роботі сервера.

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


    Мал. 5 Додаткові настройки пулу додатків

    Ключовим нововведенням в концепції пулів додатків в IIS 7.x став новий параметр - модель управління контейнером, який може приймати 2 значення: класична (Classic mode) і вбудована модель (Integrated mode).
    Щоб пояснити різницю між цими режимами роботи, потрібно знайомство з поняттям «модуль» (Module) в IIS 6 / 7.x і подієвої моделлю обробки запитів в зв'язці IIS + ASP.NET. Тема ця гідна окремої статті, але мене на неї вже, на жаль, не вистачить, судячи з усього. Тут же представлю вашій увазі лише загальні, ключові моменти.

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


    Мал. 6. Ідеологія модулів в IIS.

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

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

    На практиці найважливіше, що необхідно враховувати при розробці і розгортанні веб-додатків, - це часткова несумісність цих двох режимів. Тобто при перекладі сайту (точніше пулу додатків, в якому працює сайт) з класичної моделі у вбудовану практично завжди потрібно коректування коду (хоч, можливо, і не значна), а також ретельне тестування.

    2.5. Домен додатки, додаток
    Безпосередніми контейнерами веб-додатки є додаток і домен додатки (Application Domain, AppDomain). Найчастіше ці два поняття ототожнюються, але все-таки це трохи різні речі. Додаток - це поняття IIS, а домен додатки - з ASP.NET. Причому в загальному випадку в додатку може бути кілька доменів. Додатком ви можете управляти з консолі IIS, а доменом додатки - в основному програмно. Так, наприклад, перезапускается додаток з консолі. А коли ми пересохранять web.config, то перезавантажується саме домен додатки, не чіпаючи IIS-додаток.

    Більш важливим з практичної точки зору є те, що додаток / домен додатки є sandbox-му для коду вашого ASP.NET-сайту (не з такою надійною ізоляцією, як у випадку з пулом, але все ж). Наведу один з моїх улюблених питань, які я ставив претендентам на співбесідах. Нехай є веб-сайт-1 і веб-сайт-2, а також якась бібліотека MyLib.dll, в якій визначено клас MyClass1 зі статичним полем Field1. Отже, обидва сайти працюють під управлінням одного пулу додатків і використовують одну і ту ж бібліотеку MyLib.dll. Веб-сайт-1 записує в MyClass1.Field1 \u003d 16 (рис. 7). Питання: чи побачить веб-сайт-2 зроблені зміни? Напрошується відповідь «Ні». Але чому? Тому що, для IIS-додатків виділяються непересічні адресні простори, навіть якщо вони працюють всередині єдиного робочого процесу, тому в пам'ять веб-додатків завантажуються свої копії збірок (прошу не чіплятися до можливих неточностей в термінах роботи з пам'яттю в.NET Framework).

    Мал. 7. Малюнок для завдання.

    Ще один важливий момент, який хотілося б тут відзначити. За замовчуванням кожен окремий робочий процес може використовувати всі наявні на сервері процесори / ядра, а пул додатків працює на одному робочому процесі і, отже, веб-додаток працює всередині одного IIS-додатки. Тим не менш, ви можете налаштувати web garden, збільшивши кількість робочих процесів на пул і, отже, число IIS-додатків на одне веб-додаток. Ви без зусиль зможете знайти на просторах інтернету інформацію про web garden, тому опускаю тут подробиці. Єдине, хотілося б попередити, що даний засіб не є інструментом збільшення продуктивності, тому що за замовчуванням і так використовуються всі обчислювальні потужності сервера. Навпаки, на синхронізацію роботи 2+ робочих процесів йшов «зайве» час CPU. Робиться це в основному для збільшення доступності веб-додатки. Не можна тут також не згадати про веб-фермі (web farm), як про найпростішу засобі балансування навантаження в IIS - про це теж досить статей в Мережі. Це ще один приклад розподіленого веб-додатки. Втім, з тим же nginx вбудована балансування навантаження в IIS конкуренції не витримує, і в реальних високонагрузочних системах вам доведеться винаходити свій велосипед або задіяти продукти сторонніх виробників.

    3. Що далі?

    Далі потрібно розбиратися в роботі модулів (в термінах IIS) і подієвої моделі, в яких вже відбувається власне обробка запиту, про що згадувалося в розділі 2.4. Взагалі кажучи, ця тема заслуговує на окрему статтю, на яку, боюся, мене вже не вистачить. Але без цього не можна сказати, що ми розглянули весь конвеєр обробки запитів. Тому коротко пройдемося тут по основних моментах, які цікавий читач може пропрацювати самостійно.

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

    Як ми вже знаємо, модулі в IIS бувають 2 типів: нативні і керовані. Точний список модулів ви можете почерпнути в MSDN-е або в статті Ріган Темплін. Ви завжди можете написати свій модуль, наприклад, для редиректів. Найчастіше, звичайно, роблять керовані модулі, тому що їх найпростіше реалізувати. До слова, ASP.NET WebForms і MVC працюють у вигляді таких ось керованих модулів. Т.ч. особисто у мене холівари WebForms vs. MVC викликають посмішку і важко стримуване бажання потролліть. Знаючи принципи роботи IIS і ASP.NET, ви самі зможете реалізувати будь-який вподобаний вам патерн.

    На наступному рівні розгляду ми зіткнемося вже з складовими ASP.NET, такими як HttpHandler-и і події обробки сторінки. Про це написана маса статей, т.ч. не бачу сенсу скільки-небудь затримуватися на цьому. Єдине, дозволю собі порадити йде на співбесіди забити в пошуковій системі «ASP.NET page lifecycle» перед зустріччю - цього вже точно на моє глибоке переконання соромно не знати фахівцям, які вважають себе розробниками на ASP.NET.

    Приклад дефолтних налаштувань нативних модулів в applicationHost.config

    Добрий день шановні читачі і гості блогу сайт, в минулий раз я вам розповів, як відбувається налаштування сервера на Windows Server 2016, сьогодні ж я хочу відійти від серверних платформ і поговорити про додаткові можливості десктопних систем, а саме про служби iis windows 7, Ми розглянемо питання як їх встановлювати і як адмініструвати. Упевнений вам знадобляться знання про дану можливості.

    Служби iis windows 7

    І так, не багато користувачів операційної системи Windows 7, знають, що їхня улюблена операційна система, по мимо стандартних функцій, має ще й додаткові і цілком може стати сервером на якому можна запускати свої сайти, для цього в її склад входить такий компонент, як Internet Information Services або просто IIS. З ним я вас уже знайомив шановні читачі в своїх постах:

    • Установка IIS в Windows Server 2012 r2, там ми інсталювали версію 8,5
    • Установка IIS в Windows 10, тут вона більш просунута ніж в сімці

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

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

    • через компоненти
    • через powershell

    Додавання компонента Internet Information Services

    Робити ми будемо це через панель управління, для цього відкрийте пуск і виберіть пункт "Панель управління"

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

    Знайдіть пункт "Програми та засоби"

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

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

    • Безпека
    • Компоненти розробки додатків
    • Функції підвищення швидкодії
    • Засоби управління веб-сайтом
    • Загальні функції HTTP

    Натискаємо ок і проводиться інсталяція даного компонента, це може зайняти деякий час, після закінчення, вам не потрібно перезавантаження.

    Знайти диспетчер IIS можна в панелі управління по шляху "Панель керування \\ Всі елементи панелі керування \\ Адміністрування"

    Або ж ви можете одночасно натиснути клавіші Win і R і ввести inetMgr

    Відкриється все той же диспетчер з побудови сайтов.На цьому все, але я вам раджу почитати як створювати сайти в Internet Information Services.

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

    порт 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 перша частина запиту виглядає наступним чином.

    GET./.HTTP/1.1 Accept: .image / gif, .image / xxbitmap ,. image / jpeg, .image / pjpeg, .application / vnd.mspowerpoint ,. application / vnd.ms-excel, .application / msword,. * / * Accept-Language: .en-us..Accept-Encoding: .gzip, .deflate .. Use61 r-agent: .Mozilla / 4.0. (compatible ; .MSIE.6.0; .Windows.NT.5.2) Host: www.mywebsite.com

    Частина коду після 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 (Продуктивність) вікна Web Site Properties (Властивості веб-вузла) (див. Рис. 2.4) налаштовується управління смугою пропускання і кількість підключень сайту.

    Мал. 2.4.

    Управління смугою пропускання

    За допомогою параметра 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 має певний стан. Спрямована вниз червона стрілка означає, що фільтр в даний момент відключений. Спрямована вгору зелена стрілка означає, що фільтр включений.

    Додавання фільтра ISAPI

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

    Видалення фільтра ISAPI

    Для видалення фільтра ISAPI виділіть фільтр і натисніть на кнопку Remove (Видалити).

    Зміна фільтра ISAPI

    Для зміни фільтра ISAPI виділіть фільтр і натисніть на кнопку Edit (Змінити). Майте на увазі, що можна тільки редагувати виконуваний файл, на який вказує фільтр. Ім'я фільтра змінювати не можна.

    Включення і вимикання фільтра ISAPI

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

    Зміна порядку виконання

    При використанні декількох фільтрів ISAPI, як правило, вони виконуються в певному порядку. Цей порядок задається в даному вікні. Для підвищення пріоритету фільтра в списку виділіть його ім'я і натисніть на кнопку Move Up (Вгору). Для зниження пріоритету фільтра в списку виділіть його ім'я і натисніть на кнопку Move Down (Вниз).

    У вкладці Home Directory (Домашній каталог) (див. Рис. 2.6) вказується місце розташування даного сайту і то, як він здійснює обробку даних.

    Вказівка \u200b\u200bIIS на місце розташування вмісту сайту

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

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

    Мал. 2.6.

    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), якщо вона встановлена \u200b\u200bі включена.

    параметри додатків

    У секції 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 є наступні вкладки.

    вкладка 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.

    Порада. Не поспішайте використовувати стану сеансу, якщо ви працюєте з веб-структурою 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 Side By Side Assemblies (Включити компоновку сусідніх версій) дозволяє ASP-додатку виконати код в певній версії додатка. Можна встановити на сервері останню версію програми, але виконувати конкретний код у старішої версії DLL або EXE. Для настройки компонування версій створіть файл-маніфест (файл XML), що містить інформацію про конфігурацію, розташування і COM-реєстрації. Він вкаже IIS правильний компонент для використання. Додайте файл-маніфест в кожен віртуальний каталог, який використовує компонування різних версій.

    вкладка Debugging (Налагодження). Вкладка Debugging вікна Application Configuration (Налаштування програми) (див. Рис. 2.9) допомагає у вирішенні проблем при тестуванні коду сценаріїв ASP. При включенні опції IIS використовує Microsoft Script Debugger (Отладчик сценаріїв Microsoft) для перевірки коду. IIS налаштовується на налагодження сценаріїв як серверної, так і клієнтської частин. Включення сценаріїв серверної частини негативно позначається на продуктивності, тому користуйтеся цим тільки при необхідності. Можна налаштувати повідомлення, передане клієнтам при виникненні помилки в сценарії.

    Мал. 2.9.

    • 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 (Ім'я файлу-маніфесту). Наш файл-маніфест знаходиться в цьому ж каталозі, тому вказується тільки ім'я файлу.

    У вікні Web Site Properties (Властивості веб-вузла) є ще одна вкладка - Documents (Документи) (див. Рис. 2.10). У ній налаштовуються стандартні сторінки веб-сайту, а також нижній колонтитул, що розміщується на кожній сторінці.

    Мал. 2.10.

    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 (Безпека каталогу) (див. Рис. 2.11) служить для налаштування параметрів безпеки сайту: налаштування аутентифікації клієнтів IIS, вказівки клієнтів, які можуть підключатися до сервера, установки захисту з'єднання між клієнтом і сервером.

    Мал. 2.11.

    Зміна параметрів аутентифікації і контролю доступу

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

    Мал. 2.12.

    Опція 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 (Вибір) виберіть потрібне ім'я зі списку областей.

    • Базова аутентифікація. Найпростіший і найбільш універсальний метод аутентифікації, при якому ім'я користувача і пароль передаються у відкритому вигляді. Оскільки в цьому методі не використовується шифрування, його легко зламати. Перевагою методу є його універсальність. Як і в разі аналітичної аутентификацией, вкажіть базу даних облікових записів користувачів, використовуваної для аутентифікації. Введіть ім'я області в текстовому полі Realm (регіон) або натисніть на кнопку Select (Вибір) для вибору потрібної області зі списку.
    • Аутентифікація за допомогою паспорта.NET Passport. Новий метод аутентифікації, що використовується в технологіях Microsoft. Він дозволяє клієнтам використовувати одноразовий вхід на підтримуючі паспорт веб-сайти. Для забезпечення підтримки паспорта необхідна наявність функціонуючого центрального сервера паспортов.NET. Сервер.NET Passport можна завантажити з веб-сайту Microsoft MSDN (http://msdn.microsoft.com). При виборі даного методу аутентифікації стає активним поле Default Domain. Сервер IIS повинен бути членом домену; потрібно вказати домен за замовчуванням для аутентифікації. Вкажіть його ім'я в поле або натисніть на кнопку 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-адресою. Щоб додати до списку 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.
    • Assign An Existing Certificate (Присвоїти наявний сертифікат). Дозволяє присвоїти веб-сайту коректний сертифікат, що зберігається на комп'ютері. При виборі опції відобразиться список сертифікатів даного комп'ютера. Виділіть один з них і натисніть на кнопку Next (Далі). Виберіть SSL-порт для сайту. У поточному вікні встановлено значення порту за замовчуванням (443). Не змінюйте це значення без крайньої необхідності, так як клієнти за замовчуванням встановлюють SSL-з'єднання через порт 443. Після вибору номера порту перегляньте вікна з результуючої інформацією і завершите роботу майстра. Встановлений сертифікат доступний для негайного використання клієнтами.
    • Import A Certificate From A Key Manager Backup File (Імпорт сертифіката з архіву диспетчера ключів). Дозволяє імпортувати сертифікат, експортований за допомогою програми Windows NT 4.0 Key Manager. Вибравши опцію, перейдіть в місце розташування збереженого файла.key і виберіть файл. Потім вкажіть порт SSL для сайту, перегляньте вікна з результуючої інформацією і завершите роботу майстра.
    • Import A Certificate From A .pfx File (Імпорт сертифіката з файла.pfx). Дозволяє імпортувати файл сертифіката, що відповідає стандарту Personal Information Exchange Syntax Standard (Стандарт синтаксису обміну персональними даними) або PKSC # 12. Це стандарт зберігання або транспортування сертифікатів в портативному форматі. Якщо вам потрібно архівувати або експортувати сертифікат після імпортування, виберіть параметр Mark Cert As Exportable (Позначити сертифікат як експортований). Після вибору файла.pfx вкажіть пароль, що забезпечує безпеку файлу при експортуванні. Потім вкажіть порт SSL для сайту, перегляньте вікна з результуючої інформацією і завершите роботу майстра.
    • 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. Перевірте дані в результуючому вікні і переконайтеся, що імпортований правильного сертифіката.

    Обробка сертифіката. Після отримання відповіді від бюро сертифікатів обробіть очікує підтвердження запит на сертифікат. Для цього виконайте такі дії.

    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.

    Опція 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) вікна Properties (Властивості) (див. Рис. 2.15) налаштовується термін дії вмісту, оцінка вмісту і типи MIME, додаються заголовки HTTP.

    Мал. 2.15.

    Установка терміну дії вмісту

    Опція встановлює термін дії файлів на веб-сайті і використовується для зупинки кешування вмісту після закінчення встановленого терміну. Термін дії при запиті передається разом з вмістом. Використовується об'єкт 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. Насильство.
    2. Секс.
    3. Нудизм.
    4. Нецензурна лексика.

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

    Включення оцінки вмісту сайту. Виконайте наступні дії.

    1. Відкрийте діалогове вікно Content Ratings (Оцінка вмісту), натиснувши на кнопку Edit Ratings (Змінити оцінку) у вкладці HTTP Headers (Заголовки HTTP).
    2. У вікні Content Ratings відзначте опцію Enable Ratings For This Content (Включити оцінку даного вмісту).
    3. Виберіть ту оцінку, яку потрібно встановити.
    4. Використовуйте повзунок для установки рівня від 0 до 4.
    5. Встановіть одну оцінки або все разом (при необхідності).
    6. Введіть адресу електронної пошти у відповідному полі. Як правило, тут вказується адреса, що відображає характерну обліковий запис (наприклад, [Email protected]).
    7. Вкажіть термін дії. Дата повинна бути більше поточної. Вкажіть будь-яку дату до 31 грудня 2035 року.
    8. Натисніть на кнопку OK.
    типи MIME

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

    Примітка. У правилі MIME є один виняток: текстові файли з расшіреніем.txt, які не є файлами типу MIME або пов'язаними зі сценарієм, обслуговуються IIS.

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

    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 (Особливі помилки) (див. Рис. 2.16) служить для зміни стандартних повідомлень про помилки, що відправляються IIS. У ній відображається зв'язок кожної помилки HTTP з кодом підстану. У вкладці можна створити особливі повідомлення про помилки і задати сценарії, що виконуються при виникненні помилок.

    Мал. 2.16.

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

    Для вибору доступні три типи повідомлень.

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

    Для зміни властивостей особливих помилок виконайте наступні дії.

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

    Мал. 2.22.

    Створення пулу додатків

    Пул додатків за замовчуванням називається DefaultAppPool. Кожен створюваний сайт використовує DefaultAppPool, якщо не вказано інше пул. Для створення нового пулу додатків виконайте наступні дії.

    1. Виділіть в консолі IIS MMC вузол Application Pools (Пули додатків).
    2. Виберіть команду Action \\ New \\ Application Pool (Дія \\ Створити \\ Пул додатків). З'явиться діалогове вікно Add New Application Pool (Створити новий пул додатків).
    3. У текстовому полі вкажіть ідентифікатор пулу додатків. Це повинно бути дружнє, інформативне ім'я.
    4. При використанні в якості шаблону іншого пулу додатків виберіть опцію Use Existing Application Pool As Template (Використовувати наявний пул додатків як шаблон) і в списку вкажіть потрібний.
    5. Натисніть на кнопку OK.

    Після створення нового пулу додатків налаштуйте його параметри. Для відкриття вікна Application Pool Properties (Властивості пулу додатків) виділіть пул додатків в консолі MMC і виконайте команду Action \\ Properties (Дія \\ Властивості). Відкриється вікно Properties (Властивості), в якому можна налаштувати всі пули додатків відразу. Для цього виділіть рівень Application Pools (Пули додатків) замість окремого пулу. Всі параметри цього рівня ідентичні параметрам окремих пулів.

    У вкладці Recycling (Рециркуляція) (див. Рис. 2.23) налаштовується рециркуляція пам'яті і робочих процесів. Рециркуляція робочих процесів допомагає зберігати IIS в робочому стані за допомогою знищення робочого процесу і запуску нового із звільненням всієї пам'яті, що використовувалася робочим процесом.

    Мал. 2.23.

    Можна встановити п'ять критеріїв рециркуляції процесів і використовувати їх по одному або всі разом.

    • Recycle Worker Processes (In Minutes) (Рециркуляція робочого процесу, в хвилинах). Дозволяє налаштувати час активності робочого процесу перед його знищенням і запуском нового процесу. Вкажіть будь-яке значення від 1 до 4 000 000 хв. При значенні, рівним одній хвилині, рециркуляція буде настільки частою, що стане для сервера дуже великим навантаженням. Значення 4 000 000 хв (7,6 років) інтерпретується як відсутність рециркуляції. Для мінімізації витоку пам'яті встановіть частоту рециркуляції символів вашого на сайті технології. Додатки ASP / COM викликають більше проблем, пов'язаних з витоком пам'яті, ніж додатки ASP.NET або CGI. Обсяг запитів, адресованих сайту, є важливим параметром в даному випадку. Кожна програма індивідуально, тому для визначення частоти його рециркуляції з'ясуйте, яким чином додаток забезпечує свою підтримку.
    • Recycle Worker Processes (Number Of Requests) (Рециркуляція робочих процесів, число запитів). Вказує кількість запитів, що обробляються робочим процесом перед рециркуляцією. Задайте будь-яке значення від 1 до 4 000 000.
    • Recycle Worker Processes At The Following Times (Виконувати рециркуляцию робочих процесів в наступне час). Налаштовує певний час дня для щоденної рециркуляції робочих процесів. Ви можете додати, видалити і змінити час.
    Усунення витоку пам'яті

    Причиною витоку пам'яті є виконуються додатки, що не вивільняють в повному обсязі оперативну пам'ять системи. Кожен раз при виконанні додатка втрачається деяка кількість пам'яті, в результаті не залишається достатнього обсягу оперативної пам'яті для нормальної роботи системи. Витік пам'яті дуже легко реалізувати. Наприклад, за допомогою наступного коду ASP:

    SET MyBadApp \u003d Server.CreateObject ( "SomeApp.ThisHurts") MyBadApp.DoSomething

    В цьому випадку слід закрити програму і встановити MyBadApp рівним значенню Nothing, додавши в код рядок SET MyBadApp \u003d Nothing. При відсутності цього параметра пам'ять, яку займає програмою, яка не вивільняється.

    Memory Recycling (Рециркуляція пам'яті) Можна проводити рециркуляцію, засновану на використанні пам'яті. Це прекрасний спосіб запобігання витоку пам'яті, оскільки рециркуляція проводиться відразу ж після досягнення встановленого порога.

    • Maximum Virtual Memory (In Megabytes) (Максимальний обсяг віртуальної пам'яті, Мб). Дозволяє виконувати рециркуляцию робочих процесів після досягнення порогового значення. Цей захід спрямований на усунення проблем віртуальної пам'яті. Вкажіть значення від 1 до 2 000 000 Мб. Зверніть увагу, що можливо вказівку значення більшого, ніж безпосередній обсяг віртуальної пам'яті (близько 1.9 Тб). Зрозуміло, поріг в 1 Мб досягається практично завжди, і в цьому випадку рециркуляція буде проводитися регулярно.
    • Maximum Used Memory (In Megabytes) (Максимальний об'єм використовуваної пам'яті, в Мб). Дозволяє здійснювати рециркуляцію, засновану на використанні фізичної пам'яті. Вкажіть значення від 1 до 2 000 000 Мб, що набагато більше встановлюється на звичайний сервер Windows пам'яті.

    У вкладці Performance (Продуктивність) (див. Рис. 2.24) налаштовуються параметри, що дозволяють уникнути перевантаження процесора.

    Мал. 2.24.

    • Idle Timeout (Період простою). Вказує проміжок часу, протягом якого робочий процес може знаходитися в бездіяльності перед відключенням. Дозволяє реалізувати роботу більшого числа додатків, часто знаходяться в бездіяльності, оскільки при цьому вони не будуть займати процесорний час. Вкажіть будь-який період часу від 1 до 4 000 000 хвилин.
    • Request Queue Limit (Межа запитів в черзі). Вказує кількість запитів, які розміщені в чергу пулом додатків перед відхиленням нових запитів. Дозволяє запобігти перевантаженню сервера запитами. За цей ліміт сервер відповідає на всі запити повідомленням про помилку HTTP 503 «ServiceUnavailable» ( «Служба недоступна»). Вкажіть будь-яке значення від 0 до 65 535 запитів в черзі.
    • Maximum CPU Use (Percentage) (Максимальний ступінь використання процесора, у відсотках). Дозволяє використання пулом додатків певної кількості процесорного часу, не більше встановленого значення. Опція обчислює CPU для відстеження процесорного часу, причому робить це не в режимі реального часу. Вкажіть будь-яке значення від 1 до 100 відсотків.
    • Refresh CPU Usage Numbers (In Minutes) (Оновлювати значення використання процесора через, хв). Встановлює час поновлення для функції обчислення CPU. Кількість CPU-процесів оновлюється через зазначений час. Задайте будь-яке значення від 1 до 1440 хв.
    • Action Performed When CPU Usage Exceeds Maximum CPU (Дія, що виконується при перевищенні максимально використання процесора). Є дві опції: No Action (Ніяких дій) і Shutdown (Відключення). Опція No Action просто записує подія в журнал. Опція Shutdown запитує робочі процеси в пулі додатки.

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

    попередження. Установка занадто великого числа робочих процесів негативно позначиться на продуктивності системи, оскільки кожен процес займає близько 5 Мб пам'яті тільки при запуску. Майте це на увазі при вказівці максимальної кількості виконуваних на сервері робочих процесів.

    У вкладці Health (Стан) (див. Рис. 2.25) налаштовуються параметри, що підтримують робочий стан даного пулу додатків, і параметри виявлення проблем.

    Мал. 2.25.

    • Enable Pinging (Включити пінг-запити). Налаштовує систему на періодичну відправку пінг-запитів робочим процесам. Відсутність відповіді від робочого процес означає наявність в ньому проблеми; IIS знищує цей процес і замість нього створює новий. Вкажіть будь-яке значення від 1 до 4 000 000 с.
    • Rapid-Fail Protection (Оперативна захист від помилок). Забезпечує захист сервера за допомогою відстеження помилок в робочих процесах. При виникненні в роботі служби певної кількості помилок за певний проміжок часу IIS вимикає даний пул додатків для захисту сервера. Сервер буде відповідати на всі нові запити повідомленням про помилку HTTP 503 «Служба недоступна».
    • Failures (Помилки). Налаштовує кількість помилок, що допускається сервером перед виконанням функції оперативного захисту від помилок. Вкажіть будь-яке значення від 1 до 4 000 000.
    • Time Period (Time In Minutes) (Період часу, в хвилинах). Встановлює проміжок часу для виникнення помилок, після закінчення якого виконається функція оперативного захисту від помилок. Вкажіть будь-який проміжок часу від 1 до 4 000 000 хв.

    Нижче наведено опис роботи розглянутого процесу.

    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.

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

    • Network Service (Мережева служба). Параметр за замовчуванням, який є найбільш безпечним і рекомендований для виконання робочих процесів. В цьому випадку неможливий безпосередній доступ робочих процесів до операційної системи і управління нею.
    • Local Service (Локальна служба). Забезпечує більш широкий набір прав в операційній системі, ніж попередня опція. Надає право доступу до операційної системи, але забороняється доступ до об'єктів за межами сервера. Забороняється і взаємодія з робочим столом.
    • Local System (Локальна система). Забезпечує більш широкий набір прав, ніж Local Service (Локальна служба). Насправді опція надає права повного доступу до всієї системи.

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

    • Configurable (Що настроюється). Вказує обліковий запис, під якою будуть виконуватися робочі процеси. Введіть ім'я облікового запису або натисніть на кнопку Browse (Огляд) і виберіть обліковий запис у вікні.

    При запуску робочий процес має маркер доступу ідентифікації, на яку він налаштований. Під час отримання запиту від клієнта для його обробки використовується маркер доступу клієнта. Ця дія називається імперсоналізаціей і дозволяє робочим процесам виконуватися з низьким рівнем безпеки з одночасним виконанням операцій на високому рівні.

    Добрий день, в минулий раз я вам розповів, як відключити Internet Information Services і ми в цьому розібралися, тепер же я хотів повернутися до клієнтської версії операційної системи, а саме до Windows 10 Creators Update і інші редакції, багато хто з користувачів не припускають, що ще з часів Windows 7, її можна перетворити на справжній веб-сервер, на тій же службі IIS і створювати на ній свої сайти, такий аля хостинг, як в Європі. Сьогодні я вам покажу, як встановити iis на windows 10 за хвилину, ви зрозумієте, що це реально просто і дешевше, ніж купувати серверну версію.

    Диспетчер служб iis в windows 10

    Отже, служби iis в windows 10 за замовчуванням, знаходяться в вимкненому стані, а точніше, даний компонент не встановлений з коробки, зроблено це спеціально, щоб не витрачалися ресурси комп'ютера і зайві сокети не круто на ньому. Щоб нам додати потрібний компонент, зробіть ось що. Натисніть клавіші Win + R і введіть у вікні виконати:

    В результаті чого у вас відкриється панель управління Windows. Зробимо в ній уявлення значків в форматі "Великі значки"

    Переходимо до пункту "Включення або відключення компонентів Windows", ми з вами це вже робили, встановлюючи telnet клієнт

    Знаходимо серед безлічі пунктів "Служби Інтернету", ставимо на проти них галку і натискаємо ок. У вас починається установка IIS windows 10.

    Компонент веб сервер IIS, буде додано до лічені секунди, після чого я вам раджу перезавантажити вашу операційну систему Windows 10.

    Як і писав вище, перезапустити систему.

    До речі, як тільки ви все встановили, перед запуском не полінуйтеся пошукати свіжі оновлення в центрі оновлення Windows, так як можуть бути свіжі заплатки. Тепер дивіться, як ви можете тепер відкрити диспетчер IIS. Є кілька способів, перший, натисніть WIN + R і введіть inetMgr. У вас відкриється потрібна оснастка.

    Другий метод, це відкрити кнопку пуск і в папці "Засоби адміністрування" знайдіть "Диспетчер служб IIS"