Статьи - Internet Information Server (IIS) в вопросах и ответах
Internet Information Server (IIS) в вопросах и ответах
В этой статье автор дает ответы на часто задаваемые вопросы по настройке Internet Information Server (IIS) версии 5.0.
В: Я использую IIS 5.0 в среде Windows 2000 с Service Pack 1 (SP1). Чтобы повысить уровень информационной безопасности, я изменил учетную запись IUSR_servername. Если эту учетную запись удалить, она вновь появляется после перезагрузки системы. Значит ли это, что я обнаружил ошибку? О: Вы обнаружили новую недокументированную особенность IIS 5.0. Даже если учетную запись переименовать, после перезагрузки появится новая. В документации Microsoft не объясняется, зачем реализована данная "функция", а в устанавливаемом вместе с IIS файле README содержатся лишь скудные упоминания о ней. Единственный возможный обходной путь - создать еще одну учетную запись для доступа в режиме Anonymous, в имени которого нет обозначения IUSR. В: Наша компания ежедневно пересылает клиентам файлы в формате Adobe Acrobat Portable Document Format (PDF). Можно ли организовать потоковую передачу файлов, чтобы клиенты могли просматривать их в процессе загрузки? О: Да. PDF-файлы чрезвычайно полезны для точного воспроизведения онлайнового контента, в том числе программной документации, специальных отчетов и даже целых книг. К сожалению, в Web-серверах и браузерах нет встроенных средств для работы с PDF-файлами. Следовательно, для создания и чтения PDF-файлов необходимы специальные программы - Adobe Acrobat.
Программа Acrobat Reader распространяется бесплатно, а процедура ее установки проста - в ней нет параметров, определяемых пользователем. После установки Acrobat Reader интегрируется с Microsoft Internet Explorer (IE) и автоматически вызывается при загрузке PDF-файла. Название Acrobat Reader выбрано очень удачно: утилита лишь выводит PDF-файл на экран, не позволяя внести в него никаких изменений. Эта особенность программы явно понравилась авторам онлайновых публикаций.
С помощью Acrobat Reader можно просматривать PDF-файлы, но чтобы создавать их, необходимо купить и установить полную версию Acrobat. Чтобы создать PDF-файл в программе Acrobat, достаточно скопировать документ на пиктограмму Acrobat, а затем перепечатать его в папку Monitored для автоматического преобразования, или выбрать пункт Create Adobe PDF из меню File приложения Microsoft Office. Документ PDF будет одинаково выглядеть на машинах Windows, Unix и Macintosh.
Во многих компаниях IIS используют в качестве средства для пересылки клиентам PDF-файлов. В программе Acrobat 4.0 реализован режим сохранения, именуемый Optimize, в котором можно пересылать PDF-файлы по одной странице. Чтобы выполнить эту операцию, нужно щелкнуть на пункте Save As и выбрать флажок Optimize. Если этот флажок не установить, то клиентам придется ждать окончания загрузки всего документа. Более подробные сведения о функции Optimize можно получить на Web-узле компании Adobe, выполнив поиск по ключевому слову byteserving.
Доставка клиентам заранее подготовленных PDF-файлов - не единственное возможное решение. PDF-файлы можно строить "на ходу". ActivePDF располагает набором серверных утилит для динамического генерирования PDF-файлов из среды Active Server Pages (ASP) или ColdFusion. С помощью этих утилит можно не просто пересылать статические документы, а динамически генерировать PDF-файлы. Концепция метода напоминает отличия между ASP и HTML. С помощью ActivePDF можно использовать сценарии записи для передачи запросов в базу данных и вывода результатов в PDF-файл, который затем загружается и прочитывается в Acrobat Reader. Похожие утилиты можно найти по адресу http://www.pdflib.com/
И наконец, ответ будет неполным, если не упомянуть еще об одной области, где PDF-файлы представляют интерес для IIS-администраторов. Использование Microsoft Index Server - обычный метод поиска на Web-узлах, где хранятся большие объемы информации. Index Server автоматически индексирует документы HTML и Office и располагает быстрым поисковым механизмом со встроенными интерфейсами для IIS. В Index Server нет собственных функций поиска информации в PDF-файлах. Чтобы устранить этот недостаток, компания Adobe построила "фильтр" Index Server. В результате в формируемых Index Server ответах на запросы могут быть указаны PDF-документы. Фильтр можно загрузить по адресу http://www.adobe.com/support/downloads/8122.htm
В: После установки IIS 5.0 я обнаружил, что функция построения новых Web-узлов исчезла из меню New Tasks, к которому я обращался, щелкнув правой кнопкой мыши на имени сервера в Internet Services Manager (ISM). IIS 5.0 рассчитан на работу с несколькими Web-узлами. Каким образом можно построить новый Web-узел при отсутствии в меню необходимой функции? О: Установив Microsoft Windows NT 4.0 Open Pack на NT Workstation 4.0 или Windows 9x, вы получаете Personal Web Server. В сущности, PWS представляет собой упрощенную версию IIS 4.0, с помощью которой можно проектировать файлы ASP.
IIS 5.0 интегрирован с Windows 2000, поэтому программу можно найти на компакт-дисках Windows 2000 Server и Windows 2000 Professional. Однако, если установить IIS 5.0 в Windows 2000 Pro, то вместо PWS вы получите Web-сервер, называемый IIS 5.0. Эта особенность сбивает с толку многих людей, ошибочно полагающих, что версии IIS 5.0 для Windows 2000 Server и Windows 2000 Pro наделены одинаковой функциональностью. Ошибка легко объяснима, так как серверы называются одинаково, но тем не менее, между ними есть существенные различия. Одно из ограничений версии IIS 5.0 для Windows 2000 Pro состоит в том, что она позволяет создать лишь один Web-узел. Поэтому я полагаю, что вы установили IIS 5.0 для Windows 2000 Pro и рассчитываете получить полнофункциональный пакет. Кроме того, версии IIS 5.0 для Windows 2000 Pro свойственны следующие ограничения:
* Число одновременных соединений не превышает 10. Поскольку для запроса?? загрузки страницы может потребоваться несколько сеансов TCP, на самом деле число одновременных соединений составляет 40.
* Отсутствует закладка Operators. С помощью закладки Operators можно указать, какие группы или пользователи могут администрировать Web-узел. В этой функции нет необходимости, поскольку Windows 2000 Pro - не сервер и не поддерживает нескольких Web-узлов.
* Нельзя ограничить доступ по IP-адресу или имени домена.
* В разделе Performance невозможно применить резервирование полосы пропускания или процессов. Поэтому нельзя выбрать флажок Enforce limits.
* Администрирование на базе браузера невозможно, потому что IIS 5.0 в среде Windows 2000 Pro непригоден для работы с несколькими виртуальными Web-серверами. А виртуальный Web-сервер необходим для функционирования инструментов администрирования на базе браузера.
Если установить IIS 5.0 для Windows 2000 Pro, то элемент Internet Services Manager даже не загружается в меню Administrative Tools (как в среде Windows 2000 Server). Необходимо настроить консоль Microsoft Management Console (MMC) и загрузить встраиваемый модуль Internet Information Services (то есть, iis.msc) из каталога \%systemroot%\system32\inetsrv. Однако, для управления IIS 5.0 в среде Windows 2000 Pro можно использовать Personal Web Manager (доступный из меню Administrative Tools).
Еще одно предупреждение относительно IIS 5.0 и Windows 2000 Pro: многие программисты строят сложные системы, прекрасно работающие с PWS в Windows 2000 Pro. Однако при переносе этих систем в среду Windows 2000 Server возникают трудности с ODBC, полномочиями, ASP и другими компонентами среды. Получив вопрос вроде "Мое приложение прекрасно работает с Windows 95 PWS, но не в Windows 2000 Server. В чем ошибка?", я отвечаю: "В чем ошибка процесса разработки, если вы проектируете программы для среды, для которой они не предназначены?" Конечно, допустимо программировать на системе, совместимой с предполагаемой целевой средой, но в таком процессе разработки должен быть предусмотрен промежуточный этап. При переходе от среды рабочей станции к серверной среде следует быть готовым к тому, что между ними существуют некоторые различия.
В: Когда пользователь обращается к IIS-серверу и запрашивает Web-страницу, IIS-сервер раскрывает свой IP-адрес в ходе сеанса связи HTTP между Web-сервером и пользователем. В целях безопасности наша компания стремится скрыть внутренние сетевые адреса. Каким образом можно изменить поведение IIS? О: В некоторых случаях (не всегда) IIS возвращает IP-адрес. В статье Microsoft "Internet Information Server Returns IP Address in HTTP Header (Content-Location)", http://support.microsoft.com/support/kb/articles/q218/1/80.asp говорится, что IIS раскрывает IP-адрес только при пересылке статического HTML-контента. В этом случае ответ IIS выглядит примерно так:
HTTP/1.1 200 OK Server: Microsoft-IIS/4.0 Content-Location: http://10.1.1.1/Default.htm Date: Thu, 18 Feb 1999 14:03:52 GMT Content-Type: text/html Accept-Ranges: bytes Last-Modified: Wed, 06 Jan 1999 18:56:06 GMT ETag: "067d136a639be1:15b6" Content-Length: 4325
В этом сообщении явно указан внутренний IP-адрес сервера. Чтобы изменить реакцию сервера, нужно дополнить метабазу новым элементом. Введите в каталоге \winnt\system32\inetsrv\adminsamples по приглашению командной строки:
adsutil set w3svc/UseHostName True
Затем нажмите Enter. В результате в метабазе появляется нужная запись. Не забудьте создать резервную копию метабазы перед внесением изменений, а после остановите и вновь запустите Web-сервер. Данный прием работает в IIS 5.0 и IIS 4.0. Ответ IIS будет выглядеть иначе:
HTTP/1.1 200 OK Server: Microsoft-IIS/4.0 or Microsoft-IIS/5.0 Content-Location: http://www.domain.com/Default.htm Date: Thu, 18 Feb 1999 15:08:44 GMT Content-Type: text/html Accept-Ranges: bytes Last-Modified: Mon, 30 Nov 1998 15:40:15 GMT ETag: "f07f84b9771cbe1:3068" Content-Length: 4739
В: Я установил IIS 5.0 на машине с Windows 2000 Server своей компании. Теперь пользователи не могут изменить свои пароли через intranet, как они делали это с IIS 4.0. Каким образом можно вернуть им данную возможность, которая важна для работы компании? О: При чистой установке IIS 5.0 пользователи имеют возможность менять пароли, но из-за угрозы безопасности, возникающей при изменении пользователями паролей через intranet или Internet, в IIS 5.0 данная функция по умолчанию (как в IIS 4.0) не активизируется. Чтобы дать пользователям это право, необходимо создать виртуальную папку IISADMPWD и дополнить метабазу новым элементом. При замене IIS 4.0 на IIS 5.0 эти операции не нужны. Прежде чем вносить какие-либо изменения, необходимо остановить и перезапустить Web-службу и создать резервную копию метабазы.
Во-первых, нужно выбрать Web-узел, в котором будет находиться виртуальный каталог, указывающий на установленную программу, позволяющую пользователям изменять пароли. Например, можно выбрать применяемый IIS 4.0 узел Default Web Site. Во-вторых, чтобы изменить метабазу, нужно ввести в каталоге \winnt\system32\inetsrv\adminsamples по приглашению командной строки:
adsutil set w3svc/1/PasswordChangeFlags 1
Затем нажмите Enter. Теперь у пользователей должна появиться возможность изменять пароли. Более подробно о виртуальных каталогах и чистой установке IIS 5.0 рассказано в статье Microsoft "IISADMPWD Virtual Directory Is Not Created During Clean Install of IIS 5.0" (http://support.microsoft.com/support/kb/articles/q269/0/82.asp).