Руководство администратора IBM HTTP Server для...
Transcript of Руководство администратора IBM HTTP Server для...
AS/400e ÉÂÔ
Руководство администратораIBM HTTP Server для AS/400
GH43–0081–04
AS/400e ÉÂÔ
Руководство администратораIBM HTTP Server для AS/400
GH43–0081–04
Примечание
Перед тем как приступить к работе с продуктом и информацией о нем, обязательно ознакомьтесь сразделом “Примечания” на стр. xi.
Пятое издание (май 1999 г.)
Настоящее издание относится к программному продукту IBM HTTP Server для AS/400 версии 4, выпуска 4,модификации 0 (код продукта 5769–DG1), а также ко всем последующим версиям, выпускам и модификациям,если в последующих изданиях не будет оговорено противное. Настоящее издание применимо только ксистемам с сокращенным набором команд (RISC–системам).
Настоящее издание заменяет издание GC41–5434–03.
Copyright International Business Machines Corporation 1997, 1999. Все права защищены.
Содержание
Примечания . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiТоварные знаки . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiv
Предисловие . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xvСхема размещения информации . . . . . . . . . . . . . . . . . . . . . . . . . . xvДля кого предназначена эта книга . . . . . . . . . . . . . . . . . . . . . . . . xviСоглашения и терминология, применяемые в этой книге . . . . . . . . . . . xviiНавигатор AS/400 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xvii
Установка Навигатора AS/400 . . . . . . . . . . . . . . . . . . . . . . . . . xviiНеобходимая и дополнительная информация . . . . . . . . . . . . . . . . . . xviiiКак отправить комментарии . . . . . . . . . . . . . . . . . . . . . . . . . . . xviii
Новые возможности IBM HTTP Server для AS/400 . . . . . . . . . . . . . . xxi
Настройка сервера IBM HTTP Server . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Директивы файла конфигурации сервера . . . . . . . . . . . . . . . . . . . 3Обзор директив . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13Резервное копирование файлов . . . . . . . . . . . . . . . . . . . . . . . . . 15Базовые директивы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
BindSpecific – Связать сервер с одним или всеми IP–адресами . . . . . . 16DNS–Lookup – Определять имена хостов клиентов . . . . . . . . . . . . . 16HostName – Полное имя хоста или IP–адрес сервера . . . . . . . . . . . 17imbeds – Включить расширенные функции сервера . . . . . . . . . . . . . 17Port – Порт сервера . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19UserID – Глобальный идентификатор пользователя по умолчанию . . . . . 19
Параметры CGI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20CGIConvMode – Параметры преобразования данных для программ CGI . 21DefaultFsCCSID – Базовый CCSID сервера . . . . . . . . . . . . . . . . . 23DefaultNetCCSID – Базовый CCSID клиента . . . . . . . . . . . . . . . . . 23JavaClassPath – Путь к классам Java . . . . . . . . . . . . . . . . . . . . . 24MaxContentLengthBuffer – Размер буфера для файлов, создаваемых
динамически и получаемых от других серверов . . . . . . . . . . . . . . 25CgiThreadedMode – Разрешить по умолчанию задания CGI с несколькими
нитями . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25Переменные среды . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
DisInheritEnv – Переменные среды, не наследуемые программами CGI . 26InheritEnv – Переменные среды, наследуемые программами CGI . . . . . 27
Постоянный CGI – Задать параметры работы с постоянными программами CGI 27MaxPersistentCGI – Максимальное число заданий постоянного CGI . . . . 28MaxPersistentCGITimeout – Максимальный тайм–аут для заданий
постоянного CGI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28PersistentCGITimeout – Тайм–аут по умолчанию для заданий постоянного
CGI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Copyright IBM Corp. 1997, 1999 iii
Начальные страницы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29AlwaysWelcome – Всегда возвращать файл с начальной страницей, если не
указано имя файла . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29DirAccess – Управление списками содержимого каталогов . . . . . . . . 30Welcome – Имена файлов с начальными страницами . . . . . . . . . . . . 30
Списки содержимого каталогов . . . . . . . . . . . . . . . . . . . . . . . . . 32DirShowBytes – Показывать размер небольших файлов в байтах . . . . . 32DirShowCase – Сортировать файлы с учетом регистра символов . . . . . 33DirShowDate – Показывать дату последнего изменения . . . . . . . . . . . 33DirShowDescription – Показывать описания файлов . . . . . . . . . . . . . 33DirShowMaxDescrLength – Максимальная длина описания . . . . . . . . . 34DirShowMaxLength – Максимальная длина имени файла . . . . . . . . . . 34DirShowMinLength – Минимальная длина имени файла . . . . . . . . . . . 34DirShowOwner – Показывать владельцев файлов . . . . . . . . . . . . . . 35DirShowSize – Показывать размер файлов . . . . . . . . . . . . . . . . . . 35
Значки содержимого каталогов . . . . . . . . . . . . . . . . . . . . . . . . . 35AddBlankIcon – URL значка для выравнивания заголовка . . . . . . . . . 35AddDirIcon – URL значка для каталогов . . . . . . . . . . . . . . . . . . . 36AddIcon – URL значка для типа/кодировки MIME . . . . . . . . . . . . . . 37AddParentIcon – URL значка для родительского каталога . . . . . . . . . . 38AddUnknownIcon – URL значка для файлов неизвестного типа . . . . . . . 38DirShowIcons – Показывать значки . . . . . . . . . . . . . . . . . . . . . . 39IconPath – Путь к значкам . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
Файлы README . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40DirReadme – Файлы README в списках содержимого каталогов . . . . . 40
Пользовательские каталоги . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41UserDir – Имя доступного подкаталога каталогов пользователей, в который
они могут помещать собственные документы Web . . . . . . . . . . . . 41Настройка сообщений об ошибках . . . . . . . . . . . . . . . . . . . . . . . . 42
ErrorPage – Изменить сообщение об ошибке . . . . . . . . . . . . . . . . 42Сервлеты Java . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49Языки и кодировки . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
MultiFormatProcessing – Выбор формата MIME . . . . . . . . . . . . . . . 49DirExcludeMulti – Запретить выбор формата MIME в каталоге . . . . . . . 50AddClient – Web–браузер, связанный с указанным расширением . . . . . 51AddEncoding – Кодировка MIME файлов с указанным расширением . . . 53AddLanguage – Язык файлов с указанным расширением . . . . . . . . . . 54AddType – Тип MIME файлов с указанным расширением . . . . . . . . . . 55SuffixCaseSense – Учитывать регистр в расширениях файлов . . . . . . . 58
Серверы LDAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59LDAPInfo – Задать конфигурацию LDAP . . . . . . . . . . . . . . . . . . . 59Поддирективы LDAPInfo . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60LDAPInclude – Получить конфигурацию Web–сервера от сервера LDAP . 65
Ведение протоколов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66AccessLog – Путь к файлам протокола доступа . . . . . . . . . . . . . . . 67AccessLogArchive – Обслуживание файлов протоколов доступа, браузеров и
ссылок . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
iv Руководство администратора IBM HTTP Server для AS/400 V4R4
AccessLogExcludeMethod – Не создавать записи протокола для файлов икаталогов, запрошенных указанным методом . . . . . . . . . . . . . . . 70
AccessLogExcludeMIMEType – Не создавать записи протокола дляуказанных типов MIME . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
AccessLogExcludeReturnCode – Не создавать записи протокола дляуказанных кодов возврата . . . . . . . . . . . . . . . . . . . . . . . . . . 72
AccessLogExcludeURL – Не создавать записи протокола для указанныхфайлов и каталогов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
AccessLogExcludeUserAgent – Не создавать записи протокола дляуказанных браузеров . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
AccessLogExpire – Удалять файлы протоколов доступа, браузеров и ссылокчерез указанное количество дней . . . . . . . . . . . . . . . . . . . . . . 74
AccessLogSizeLimit – Удалять файлы протоколов доступа, браузеров иссылок, когда их общий размер превышает указанный . . . . . . . . . . 74
AgentLog – Путь к файлам протокола браузеров . . . . . . . . . . . . . . 75CacheAccessLog – Путь к файлам протокола доступа к кэшу . . . . . . . 77CGIErrorLog – Путь к файлам протокола ошибок CGI . . . . . . . . . . . . 79ErrorLog – Путь к файлу протокола внутренних ошибок сервера . . . . . . 81ErrorLogArchive – Обслуживание файлов протоколов внутренних ошибок
сервера и ошибок CGI . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83ErrorLogExpire – Удалять файлы протоколов внутренних ошибок сервера и
ошибок CGI через указанное количество дней . . . . . . . . . . . . . . . 84ErrorLogSizeLimit – Удалять файлы протоколов внутренних ошибок сервера
и ошибок CGI, когда их общий размер превышает указанный . . . . . . 85ExtendedLogFormat – Расширенный формат протокола доступа . . . . . . 85Поддирективы ExtendedLogFormat . . . . . . . . . . . . . . . . . . . . . . 86LogFormat – Формат протокола: общий, DDS или расширенный . . . . . . 88LogTime – Время в файлах протоколов: по Гринвичу или местное . . . . . 90NoLog – Не создавать записи протокола для указанных хостов и доменов 91ProxyAccessLog – Путь к файлам протокола доступа к Proxy . . . . . . . . 91RefererLog – Путь к файлам протокола ссылок . . . . . . . . . . . . . . . 91
Создание отчетов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93AccessReportDoDNSLookup – Показывать в отчетах имена хостов клиентов 94AccessReportTemplate – Задать шаблон отчета . . . . . . . . . . . . . . . 94ReportProcessOldLogs – Проверять старые файлы в каталоге протокола
доступа . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97ReportDataSizeLimit – Удалять файлы отчетов о доступе, когда их общий
размер превышает указанный . . . . . . . . . . . . . . . . . . . . . . . . 98ReportDataArchive – Specify whether to remove existing access data files . . 98ReportDataExpire – Удалять файлы протоколов доступа через указанное
число дней . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99DoReporting – Задать время создания отчетов . . . . . . . . . . . . . . . . 100DoWebUsageMining – Время создания отчетов об использовании ресурсов
Web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100Мета–информация – Имена файлов и каталогов мета–информации . . . . . 101
MetaDir – Имя подкаталога для файлов мета–информации . . . . . . . . . 102MetaSuffix – Расширение файлов мета–информации . . . . . . . . . . . . 103UseMetaFiles – Применять мета–файлы . . . . . . . . . . . . . . . . . . . 103
Содержание v
Защита – Настройка управления доступом к серверу . . . . . . . . . . . . . 104Protect – Включить защиту для указанных запросов . . . . . . . . . . . . . 104Protection – Задать в файле конфигурации сервера конфигурацию защиты 108Поддирективы защиты . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
Параметры proxy – Настройка proxy–сервера с кэшированием . . . . . . . . 122CacheAccessLog – Путь к файлам протокола доступа к кэшу . . . . . . . 122CacheClean – Время хранения в кэше файлов с указанными URL . . . . . 122CacheDefaultExpiry – Время хранения файлов в кэше по умолчанию . . . 123CacheExpiryCheck – Проверка времени хранения файлов в кэше . . . . . 123CacheLastModifiedFactor – Часть значения времени последнего изменения,
применяемая для определения интервала хранения . . . . . . . . . . . 124CacheLimit_1 – Нижний предел для файлов, удаляемых сервером при
сборе мусора . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124CacheLimit_2 – Верхний предел размера файлов в кэше . . . . . . . . . . 125CacheLockTimeOut – Тайм–аут блокировки файлов в кэше . . . . . . . . . 125CacheNoConnect – Включить режим автономного кэширования . . . . . . 126CacheOnly – Заносить в кэш только файлы с указанными URL . . . . . . . 126CacheRoot – Корневой каталог кэша на сервере . . . . . . . . . . . . . . 126CacheSize – Размер кэша . . . . . . . . . . . . . . . . . . . . . . . . . . . 127CacheTimeMargin – Не заносить в кэш файлы, срок хранения которых
меньше указанного . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127CacheUnused – Максимальное время хранения неиспользуемых файлов в
кэше . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128Caching – Включить/выключить кэширование Proxy . . . . . . . . . . . . . 128ftp_proxy – Proxy, обрабатывающий запросы FTP . . . . . . . . . . . . . . 128Gc – Включить/выключить сбор мусора . . . . . . . . . . . . . . . . . . . 129GcDailyGc – Время ежедневного сбора мусора . . . . . . . . . . . . . . . 129GcMemUsage – Объем памяти, применяемый для сбора мусора . . . . . 130gopher_proxy – Proxy, обрабатывающий запросы Gopher . . . . . . . . . . 130http_proxy – Proxy, обрабатывающий запросы HTTP . . . . . . . . . . . . 131no_proxy – Устанавливать прямое соединение с указанными доменами . 131NoCaching – Не заносить в кэш файлы с указанными URL . . . . . . . . . 132Proxy – Задать протоколы proxy . . . . . . . . . . . . . . . . . . . . . . . . 132ProxyAccessLog – Путь к файлам протокола доступа к Proxy . . . . . . . . 133SocksServer – Сервер SOCKS, к которому подключен proxy–сервер . . . 135
Работа приложений с API сервера – Добавление функций в IBM HTTP Server 135Authentication – Настроить процедуру идентификации . . . . . . . . . . . . 137Authorization – Настроить процедуру проверки прав доступа . . . . . . . . 138DataFilter – Настроить процедуру фильтрации данных . . . . . . . . . . . . 139Error – Настроить процедуру обработки ошибок . . . . . . . . . . . . . . . 139Log – Настроить процедуру ведения протоколов . . . . . . . . . . . . . . 140ObjectType – Изменить процедуру определения типа объекта . . . . . . . 141PICSDBLookup – Изменить процедуру получения меток PICS . . . . . . . 142PostExit – Настроить процедуру, вызываемую после выхода . . . . . . . . 143PreExit – Изменить процедуру, вызываемую перед выходом . . . . . . . 143ServerInit – Изменить процедуру инициализации сервера . . . . . . . . . . 144ServerTerm – Изменить процедуру завершения работы сервера . . . . . . 144
Методы – Запретить или разрешить методы HTTP . . . . . . . . . . . . . . . 145
vi Руководство администратора IBM HTTP Server для AS/400 V4R4
Disable – Запретить методы HTTP . . . . . . . . . . . . . . . . . . . . . . 146Enable – Разрешить методы HTTP . . . . . . . . . . . . . . . . . . . . . . 147
Маршрутизация запросов – Перенаправление URL и определениерасширений файлов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
Exec – Запускать для указанных запросов программу CGI . . . . . . . . . 148Fail – Отклонять указанные запросы . . . . . . . . . . . . . . . . . . . . . 150Map – Преобразовывать указанные запросы . . . . . . . . . . . . . . . . 151NameTrans – Пользовательская процедура преобразования имен . . . . . 152Pass – Принимать указанные запросы . . . . . . . . . . . . . . . . . . . . 153Redirect – Отправлять подходящие запросы другому серверу . . . . . . . 155Service – Настроить процедуру обслуживания запросов . . . . . . . . . . 157
Конфигурация защиты – Настройка защиты сервера . . . . . . . . . . . . . . 158NormalMode – Включить/выключить незащищенный режим HTTP Server . 158SSLClientAuth – Включить/выключить идентификацию клиентов SSL . . . 159SSLMode – Включить/выключить защищенный порт HTTP Server . . . . . 159SSLPort – Задать защищенный (SSL) порт . . . . . . . . . . . . . . . . . . 160
Простой протокол управления сетью (SNMP) . . . . . . . . . . . . . . . . . . 160SNMP – Включить/выключить SNMP . . . . . . . . . . . . . . . . . . . . . 161SNMPCommunityName – Имя группы взаимодействия SNMP . . . . . . . 161WebMasterEmail – Электронный адрес для сообщений об ошибках,
обнаруженных SNMP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162Управление системой . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
CacheLocalFile – Файлы, загружаемые в память при запуске . . . . . . . 164CacheLocalMaxBytes – Максимальный объем памяти, выделяемый для
кэширования файлов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164CacheLocalMaxFiles – Максимальное количество одновременно
кэшируемых файлов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165DynamicCache – Включить/выключить динамическое кэширование . . . . 165InputTimeout – Тайм–аут ввода . . . . . . . . . . . . . . . . . . . . . . . . 166LiveLocalCache – Обновление кэша при изменении файла, хранящегося в
кэше . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166MaxActiveThreads – Максимальное число активных нитей . . . . . . . . . 166MaxPersistRequest – Максимальное число запросов по одному
постоянному соединению . . . . . . . . . . . . . . . . . . . . . . . . . . 167MinActiveThreads – Минимальное число существующих нитей . . . . . . . 167OutputTimeout – Тайм–аут вывода . . . . . . . . . . . . . . . . . . . . . . 168PersistTimeout – Тайм–аут неактивного постоянного соединения . . . . . 168ScriptTimeout – Тайм–аут сценариев . . . . . . . . . . . . . . . . . . . . . 169UseACLs – Применять файлы ACL . . . . . . . . . . . . . . . . . . . . . . 169
Оценки для Web–сайта . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169LabelsFor – Задать оценки для документов сайта . . . . . . . . . . . . . . 170DefineService – Показать локальные файлы меток, полученные от
независимой службы оценок . . . . . . . . . . . . . . . . . . . . . . . . 171DefineLBService – Показать локальные файлы меток, полученные от
собственной службы оценок . . . . . . . . . . . . . . . . . . . . . . . . . 171Настройка защиты от атак, приводящих к отказу в обслуживании . . . . . . 172
DenialOfServicePenalty – Меры, принимаемые при обнаружении атаки . . 173DenialOfServiceThreshold – Порог обнаружения атаки . . . . . . . . . . . . 174
Содержание vii
DenialOfServiceTrusted – Имена или IP–адреса известныхмаршрутизаторов и брандмауэров, которые не могут быть источникоматаки . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
Настройка протоколов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177Настройка протоколов, хранящихся на вашем сервере . . . . . . . . . . . . 178
Указание глобальных значений параметров для всех протоколов . . . . . 179Указание максимального размера файлов протоколов . . . . . . . . . . . 180Указание опций для протоколов доступа, браузеров и ссылок . . . . . . . 180Указание опций протоколов ошибок . . . . . . . . . . . . . . . . . . . . . 183Пример сценария настройки файлов протоколов . . . . . . . . . . . . . . 183Указание пути к протоколу доступа к кэшу сервера Proxy . . . . . . . . . 184
Защита сервера IBM HTTP Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
Защита сервера . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187Защита сервера . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188
Применение директив защиты и управления доступом . . . . . . . . . . . 189Этап 1. Активация защиты . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192Этап 2. Фильтрация запросов . . . . . . . . . . . . . . . . . . . . . . . . . . . 193Этап 3. Выбор типа защиты . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
Защита с помощью идентификации по имени пользователя и паролю . . . 194Идентификация клиентов SSL . . . . . . . . . . . . . . . . . . . . . . . . . 194Защита с помощью шаблона адреса . . . . . . . . . . . . . . . . . . . . . 195Обработка запроса на сервере . . . . . . . . . . . . . . . . . . . . . . . . 195
Этап 4. Создание конфигураций защиты . . . . . . . . . . . . . . . . . . . . . 197Идентификация конфигурации защиты для клиентов . . . . . . . . . . . . 198Указание типа идентификации . . . . . . . . . . . . . . . . . . . . . . . . . 199Указание контрольного списка . . . . . . . . . . . . . . . . . . . . . . . . 199Ссылка на файл групп сервера . . . . . . . . . . . . . . . . . . . . . . . . 200Указание допустимых имен пользователей, групп и адресов . . . . . . . . 200Создание конфигураций защиты для идентификации клиентов SSL . . . . 203
Этап 5. Ограничение доступа к конкретным файлам . . . . . . . . . . . . . . 205Этап 6. Защита от атак, приводящих к отказу в обслуживании . . . . . . . . 206Работа с файлами групп сервера . . . . . . . . . . . . . . . . . . . . . . . . 207Работа с файлами списков управления доступом (ACL) . . . . . . . . . . . . 208
Рекомендации по настройке идентификации клиентов SSL в ACL . . . . . 209Пример защиты . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210
Защита соединений . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213Что такое защита? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213
Конфиденциальность . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214Целостность . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214Отчетность . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214Подлинность . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214Что такое шифрование? . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214Что такое цифровая подпись? . . . . . . . . . . . . . . . . . . . . . . . . . 215Что такое идентификация? . . . . . . . . . . . . . . . . . . . . . . . . . . . 216
viii Руководство администратора IBM HTTP Server для AS/400 V4R4
Поддержка цифровой идентификации в AS/400 . . . . . . . . . . . . . . . 217Диспетчер цифровых сертификатов AS/400 . . . . . . . . . . . . . . . . . . . 218
Запуск Диспетчера цифровых сертификатов . . . . . . . . . . . . . . . . . 220Управление ключами, сертификатами и надежными базовыми
сертификатами с помощью Диспетчера цифровых сертификатов . . . . 220Настройка системы для работы с цифровыми сертификатами . . . . . . . 222
Применение протокола Secure Sockets Layer (SSL) . . . . . . . . . . . . . . 223Идентификация клиентов по протоколу SSL . . . . . . . . . . . . . . . . . 227Этап 1. Настройка протокола SSL на сервере . . . . . . . . . . . . . . . . 228Этап 2. Настройка идентификации по протоколу SSL в конфигурации
защиты и файлах ACL . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229Этап 3. Применение протокола SSL на сервере . . . . . . . . . . . . . . . 230
Приложения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231
Приложение A. Команды AS/400 . . . . . . . . . . . . . . . . . . . . . . . 233Команда CFGTCPHTTP (Настроить HTTP TCP/IP) . . . . . . . . . . . . . . . 233
Синтаксис . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233Команда CHGHTTPA (Изменить атрибуты HTTP) . . . . . . . . . . . . . . . . 234
Синтаксис . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234Команда ENDTCPSVR (Остановить сервер TCP/IP) . . . . . . . . . . . . . . 239
Синтаксис . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239Команда STRTCPSVR (Запустить сервер TCP/IP) . . . . . . . . . . . . . . . 244
Синтаксис . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244Команда WRKHTTPCFG (Работа с конфигурацией HTTP) . . . . . . . . . . . 251
Редактирование файла конфигурации с помощью команды WRKHTTPCFG 251Синтаксис . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252
Приложение B. Обработка карт изображений с помощью программыHTImage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253
Требования . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254Синтаксис . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255Примеры создания карт изображений . . . . . . . . . . . . . . . . . . . . . . 255
Приложение C. Анализ неполадок . . . . . . . . . . . . . . . . . . . . . . 259Анализ неполадок, связанных с файлом конфигурации . . . . . . . . . . . . 259Анализ неполадок, связанных с браузером . . . . . . . . . . . . . . . . . . . 260Анализ неполадок сервера . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260Анализ неполадок, связанных с доступом к документам . . . . . . . . . . . 261Анализ неполадок CGI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264Коды состояния HTTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265
Информационные коды 1xx . . . . . . . . . . . . . . . . . . . . . . . . . . 265Коды успешного завершения 2xx . . . . . . . . . . . . . . . . . . . . . . . 265Коды перенаправления 3xx . . . . . . . . . . . . . . . . . . . . . . . . . . 266Коды ошибок клиента 4xx . . . . . . . . . . . . . . . . . . . . . . . . . . . 266Ошибки сервера 5xx . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267
Индекс . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269
Содержание ix
x Руководство администратора IBM HTTP Server для AS/400 V4R4
Примечания
Данная информация относится к продуктам и услугам, предлагаемым натерритории США. Фирма IBM может не распространять описанные в этомдокументе продукты, программы и услуги в других странах. Информацию опродуктах и услугах, предлагаемых в вашей стране, вы можете получить вместном представительстве фирмы IBM. Ссылки на продукты, программы илиуслуги фирмы IBM не означают и не подразумевают, что можно использоватьтолько указанные продукты, программы или услуги фирмы IBM. Вместо них можноиспользовать любые другие функционально эквивалентные продукты, программыили услуги, если при этом не нарушаются права фирмы IBM на интеллектуальнуюсобственность. Ответственность за проверку работоспособности и за применениетаких программ, продуктов и услуг несет пользователь.
Фирма IBM может располагать патентами или рассматриваемыми заявками напатенты, относящимися к предмету данной публикации. Предоставление вам этогодокумента не означает, предоставления каких–либо лицензий на эти патенты.Запросы на лицензии можно направлять в письменном виде по адресу:
IBM Director of LicensingIBM CorporationNorth Castle DriveArmonk, NY 10504–1785U.S.A.
Запросы на лицензии, связанные с обработкой информации DBCS (набордвухбайтовых символов), следует направлять в письменном виде в отдел IBMIntellectual Property Department в местном представительстве фирмы IBM или последующему адресу:
IBM World Trade Asia CorporationLicensing2–31 Roppongi 3–chome, Minato–kuTokyo 106, Japan
Следующий абзац не относится к Великобритании, а также к другимстранам, в которых он противоречит местному законодательству: ФИРМАINTERNATIONAL BUSINESS MACHINES CORPORATION ПРЕДОСТАВЛЯЕТНАСТОЯЩУЮ ПУБЛИКАЦИЮ НА УСЛОВИЯХ “КАК ЕСТЬ,” БЕЗ КАКИХ–ЛИБОЯВНЫХ ИЛИ ПОДРАЗУМЕВАЕМЫХ ГАРАНТИЙ, ВКЛЮЧАЯ, НО НЕОГРАНИЧИВАЯСЬ ЭТИМ, НЕЯВНЫЕ ГАРАНТИИ СОБЛЮДЕНИЯ ПРАВ,КОММЕРЧЕСКОЙ ЦЕННОСТИ И ПРИГОДНОСТИ ДЛЯ КАКОЙ–ЛИБО ЦЕЛИ. Внекоторых странах отказ от предоставление явных и подразумеваемых гарантийпри заключении определенных договоров запрещен, поэтому данное заявлениеможет не действовать в вашем случае.
Эта публикация может содержать технические неточности или типографскиеопечатки. В информацию периодически вносятся изменения, которые будут учтены
Copyright IBM Corp. 1997, 1999 xi
во всех последующих изданиях настоящей публикации. Фирма IBM оставляет засобой право в любое время и без дополнительного уведомления вноситьисправления и улучшения в продукты и программы, упоминаемые в настоящейпубликации.
Любые ссылки на Web–сайты, не принадлежащие фирме IBM, приведены здесьисключительно для удобства и никоим образом не означают, что фирма IBMподдерживает эти сайты или несет ответственность за их содержание. Материалы,приведенные на этих сайтах, предоставляются не фирмой IBM, и ответственностьза результаты использования этих материалов несет пользователь.
Лицам, обладающим лицензией на эту программу и желающим получить о нейинформацию с целью: (i) осуществлять обмен информацией между независимосоздаваемыми программами и другими программами (включая данную); и (ii)совместно использовать информацию, полученную в результате обмена, следуетобратиться по следующему адресу:
IBM CorporationSoftware Interoperability Coordinator3605 Highway 52 NRochester, MN 55901–7829U.S.A.
Эти сведения предоставляются на определенных условиях, включающих внекоторых случаях дополнительную оплату.
Лицензионная программа, рассматриваемая в настоящей публикации, и всесвязанные с ней лицензионные материалы предоставляются фирмой IBM наусловиях Договора об обслуживании заказчиков фирмы IBM, Международногосоглашения о лицензионных программах фирмы IBM или другого эквивалентногодоговора.
Все данные о производительности, приведенные в этом документе, получены вусловиях работы в управляемой среде. Результаты, полученные при работе вдругих операционных средах, могут существенно отличаться от приведенных вданной публикации. Некоторые измерения выполнялись в новых системах,находящихся на стадии разработки, поэтому нельзя гарантировать, что измеренияв промышленных образцах системах дадут те же результаты. Кроме того,некоторые значения получены в результате экстраполяции. Фактическиерезультаты могут отличаться от приведенных. Вам следует выяснить, насколькоданные, приведенные в этой публикации, отличаются от значений для конкретнойсреды.
Информация о продуктах, поставляемых не фирмой IBM, была получена отпоставщиков этих продуктов, из опубликованных поставщиками документов или издругих общедоступных источников. Фирма IBM не проводила тестирование этихпродуктов и не может гарантировать указанную производительность этихпродуктов, их совместимость с продуктами фирмы IBM и другие заявленные
xii Руководство администратора IBM HTTP Server для AS/400 V4R4
характеристики. Вопросы, касающиеся продуктов, поставляемых не фирмой IBM,следует направлять поставщикам этих продуктов.
Фирма IBM оставляет за собой право на изменение своей политики в отношенииразработки новых продуктов, вплоть до полного отказа от их разработки, бездополнительного уведомления.
Все указанные в этом документе цены на продукцию фирмы IBM – это розничныецены фирмы IBM, действительные на момент опубликования документа; IBMоставляет за собой право на их изменение без дополнительного уведомления.Цены дилеров могут отличаться от указанных.
Следующая информация предназначена исключительно для целей планирования.Приведенная информация может измениться до начала поставки описанныхпродуктов.
Настоящая информация содержит примеры данных и отчетов, применяемых вповседневных деловых операциях. Для большей достоверности в примерахуказаны имена людей, названия компаний, товарные знаки и названия продуктов.Все эти имена вымышленные; любое их возможное совпадение с реальнымиименами и адресами является случайным.
Лицензия на продукты, защищенные авторским правом:
В настоящей публикации приведены примеры исходных текстов прикладныхпрограмм, иллюстрирующие приемы программирования для различных платформ.Разрешается бесплатное копирование, изменение и распространение в любойформе этих примеров с целью разработки, использования и распространенияприкладных программ для интерфейсов, соответствующих той операционнойплатформе, для которой созданы данные примеры программ. Указанные образцыне были всесторонне протестированы. По этой причине, фирма IBM не можетгарантировать их надежность, поддержку и работоспособность. Разрешаетсябесплатное копирование, изменение и распространение в любой форме этихобразцов с целью разработки, использования и распространения прикладныхпрограмм для интерфейсов прикладных программ фирмы IBM.
В текст каждой копии такой программы или ее фрагмента, а также любойпрограммы, разработанной на основе указанных образцов, необходимо вставитьследующее замечание об авторских правах:
International Business Machines Corporation 1999. Этот программный кодсодержит фрагменты, разработанные на основе примеров прикладных программфирмы IBM Corporation. Copyright IBM Corporation 1999. Все права защищены.
В электронном варианте этого документа фотографии и цветные иллюстрациимогут отсутствовать.
Примечания xiii
Товарные знакиСледующие названия являются товарными знаками фирмы International BusinessMachines Corporation в США и/или других странах:
Application System/400AS/400AS/400eClient AccessIBMMVSNet.DataNetwork StationOperating System/2Operating System/400OS/2OS/400WebExplorer400
Microsoft, Windows, Windows NT и логотип Windows 95 – товарные знаки фирмыMicrosoft Corporation.
Java и HotJava – товарные знаки Sun Microsystems, Inc.
UNIX – зарегистрированный товарный знак в США и других странах.Исключительное право на предоставление лицензии на его использованиепринадлежит фирме X/Open Company Limited.
Другие названия компаний, продуктов и услуг могут быть товарными илисервисными знаками соответствующих фирм.
xiv Руководство администратора IBM HTTP Server для AS/400 V4R4
Предисловие
О книге "Руководство администратора IBM HTTP Server" (GH43–0081–04)
В книге описывается сервер IBM HTTP Server для AS/400 и способы работы сним.
¹ В части 1, Конфигурация IBM HTTP Server, содержатся подробные сведенияо настройке файла конфигурации и протоколов сервера.
¹ В части 2,Защита IBM HTTP Server, обсуждаются способы защиты сервера исоединений, а также применение Диспетчера цифровых сертификатов (DCM).
¹ В Приложениях приведена справочная информация о командах AS/400,программа HTImage, а также сведения об анализе и устранении неполадок.
IBM HTTP Server – это Web–сервер фирмы IBM, совместимый с множествомразличных платформ и операционных систем. Сервер IBM HTTP Serverпредназначен для передачи различных объектов мультимедиа (например,документов HTML) Web–браузерам с помощью системы AS/400.
Примечание: Везде в книге под словом "сервер" или "ваш сервер"подразумевается только сервер IBM HTTP Server. Система AS/400везде обозначается как "AS/400."
Схема размещения информации
Таблица 1 (Стр. 1 из 2). Путеводитель по схеме размещения информации
Если вы хотите... то обратитесь к...
Найти информацию о IBM HTTP Server AS/400 Information Center
Запланировать работу с сервером AS/400 Information Center
Настроить сервер AS/400 Information Center
Запустить сервер AS/400 Information Center
Использовать встроенные формы настройки иуправления для настройки сервера с помощьюграфического пользовательского интерфейса (GUI)Web–браузера
AS/400 Information Center
Запустить несколько экземпляров сервера AS/400 Information Center
Обслуживать Web–страницы из интегрированнойфайловой системы
AS/400 Information Center
Настроить несколько IP–адресов и виртуальныххостов на сервере
AS/400 Information Center
Установить экземпляр Proxy–сервера на сервере AS/400 Information Center
Использовать расширенные функции сервера вдокументах HTML и программах CGI
AS/400 Information Center
Copyright IBM Corp. 1997, 1999 xv
Таблица 1 (Стр. 2 из 2). Путеводитель по схеме размещения информации
Если вы хотите... то обратитесь к...
Изменить или обновить директивы в файлеконфигурации
“Директивы файла конфигурации сервера” на стр. 3
Настроить версию национального языка для данных,обрабатываемых с помощью сервера
“Языки и кодировки” на стр. 49
Создать программы, использующие CGI, APIсервера, сервлеты Java и другие сценарии, которыемогут взаимодействовать с сервером
IBM HTTP Server Web Programming Guide
Найти свежую информацию и документацию посервлетам Java
http://www.software.ibm.com/webservers/
Добавить текущие данные из баз данных и программк Web–страницам с помощью Net.Data
http://www.as400.ibm.com/netdata
Защитить сервер от несанкционированного доступа “Защита сервера” на стр. 187
Защитить соединения с помощью соответствующихфункций
“Защита соединений” на стр. 213
Установить режим идентификации клиентов,запрашивающих защищенные соединения, спомощью Secure Sockets Layer
“Применение протокола Secure Sockets Layer (SSL)”на стр. 223
Создать цифровые сертификаты и управлять ими “Диспетчер цифровых сертификатов AS/400” настр. 218 и AS/400 Information Center
Применять команды CL AS/400 при работе ссервером
Приложение A, “Команды AS/400” на стр. 233
Пользоваться программой QTMHIMAG Приложение B, “Обработка карт изображений спомощью программы HTImage” на стр. 253
Выполнять процедуры определения неполадок Приложение C, “Анализ неполадок” на стр. 259
Просмотреть свежую информацию о планировании инастройке сервера IBM HTTP Server для AS/400
http://www.as400.ibm.com/http
Просмотреть информацию о работе с Протоколомуправления передачей/Протоколом Internet (TCP/IP) вAS/400
AS/400 Information Center
Для кого предназначена эта книгаЭта книга предназначена для тех, кому приходится выполнять установку,настройку, регулировку и другие операции с сервером IBM HTTP Server. Если вамнеобходимо настраивать экземпляры сервера, устанавливать или изменятьзащиту, работать с пользователями Internet, подключать протоколы, настраиватьпроизводительность или каким–либо другим образом изменять параметрысервера, то эта книга – для вас. Эта книга будет полезна также администраторамWeb–сайтов.
Предполагается, что вы обладаете базовыми знаниями по следующим темам:
xvi Руководство администратора IBM HTTP Server для AS/400 V4R4
¹ World Wide Web, что это такое и и как осуществляется взаимодействие"клиент–сервер" между Web–браузерами и Web–серверами
¹ AS/400; как запустить сеанс PC5250 с AS/400
Соглашения и терминология, применяемые в этой книге
Полужирный шрифт Полужирным шрифтом выделяются название элемента, имя поля,строка, IP–адрес или Унифицированный указатель ресурсов (URL),которые вам необходимо выбрать или ввести.
Курсив Курсивом выделяются названия книг, а также переменные, вместокоторых подставляются фактические значения.
Полужирный курсив Полужирным курсивом обозначаются новые термины.Непропорциональный шрифт Непропорциональным шрифтом набраны команды AS/400, примеры,
части файлов и ранее введенные значения.
Навигатор AS/400Навигатор AS/400 – это мощный графический интерфейс, предназначенный дляклиентов Windows. С его помощью можно управлять системами AS/400 срабочего стола Windows.
Навигатор AS/400 позволяет настраивать соединения, управлять печатью, базамиданных, защитой и выполнять другие системные операции. Для централизованногоуправления несколькими системами AS/400 в Навигаторе предусмотрена службаЦентрализованного управления.
Этот новый интерфейс разработан специально для удобства пользователя. Этоединственный интерфейс, который предоставляет пользователю доступ к новымрасширенным функциям OS/400. Поэтому фирма IBM рекомендует использоватьНавигатор AS/400. В нем предусмотрена электронная справка по операциям,которые вы выполняете. Поскольку этот интерфейс пока находится в стадииразработки, для выполнения некоторых задач вам, возможно, придетсяиспользовать обычный эмулятор, например, PC5250.
Установка Навигатора AS/400Для работы с Навигатором AS/400 необходимо установить на вашем PC сWindows программный продукт Client Access. Справочную информацию оподключении вашего PC с Windows к системе AS/400 можно найти в книгеРуководство по установке Client Access Express для Windows, SH43–0084–00.
Навигатор AS/400 – это отдельно устанавливаемый компонент Client Access,который, в свою очередь, состоит из нескольких компонентов. Если выустанавливаете его впервые и выполняете Обычную установку, то по умолчаниюбудут установлены следующие компоненты:
¹ Базовая часть
¹ Основные функции (сообщения, вывод на принтер и принтеры)
Предисловие xvii
Если вы хотите установить компоненты Навигатора по своему выбору, выполнитеНастраиваемую установку. (Вы можете добавлять компоненты и после установкиНавигатора AS/400 – с помощью Выборочной установки Client Access.)
1. Просмотрите список установленных компонентов в окне Выбор компонентаНастраиваемой или Выборочной установки.
2. Выберите Навигатор AS/400.
3. Укажите дополнительные компоненты, которые вы хотите установить, ипродолжите Настраиваемую или Выборочную установку.
После того как вы установите Client Access, дважды щелкните на значкеНавигатор AS/400 на рабочем столе, чтобы установить доступ к Навигатору исоздать соединение с AS/400.
Необходимая и дополнительная информацияЕсли вам необходима техническая информация по AS/400, начните поиск сосправочника AS/400 Information Center. Он доступен на компакт–диске AS/400eInformation Center (английская версия SK3T–2027) или на следующих Web–сайтах:
http://www.as400.ibm.com/infocenter
http://publib.boulder.ibm.com/pubs/html/as400/infocenter.htm
AS/400 Information Center содержит информацию по таким темам, как логическиеразделы, кластеры, Java, TCP/IP, управление Web–серверами и защищенныесети. Он также содержит ссылки на другие Web–сайты, такие как AS/400 OnlineLibrary и AS/400 Technical Studio. В Information Center включена ссылка, в которойна высоком уровне описываются различия между информацией в InformationCenter и в Online Library.
Как отправить комментарииФирма IBM придает большое значение обратной связи с заказчиками, посколькуона помогает повысить точность и качество предоставляемой информации. Если увас есть замечания по этой книге или другой документации по системе AS/400,заполните форму комментариев читателя, приведенную в конце книги.
¹ Вы можете отправить форму с комментариями почтой по адресу, указанномуна обороте формы. Если вы находитесь не в США, то вы можете передатьформу в местное отделение или сервисное представительство фирмы IBM.
¹ Комментарии можно отправить по факсимильной связи по одному изследующих адресов:
– В США и Канаде: 1–800–937–3430
– В других странах: 1–507–253–5192
¹ Комментарии можно также отправить по электронной почте по одному изследующих адресов:
xviii Руководство администратора IBM HTTP Server для AS/400 V4R4
– Комментарии к книгам:
IBMMAIL, to IBMMAIL(USIB56RZ)
– Комментарии к AS/400 Information Center:
Не забудьте включить в комментарии следующую информацию:
¹ Название книги (например, Руководство администратора IBM HTTP Server).
¹ Код публикации для этой книги (например, GH43–0081–04).
¹ Номер страницы или раздел, к которым относятся ваши комментарии.
Предисловие xix
xx Руководство администратора IBM HTTP Server для AS/400 V4R4
Новые возможности IBM HTTP Server для AS/400
В версии V4R4 IBM HTTP Server для AS/400 добавлены следующие функции:
Динамическое кэшированиеНовая директива сервера позволяет серверу HTTP Server кэшироватьфайлы в зависимости от частоты обращений к ним. Динамическоекэширование статических Web–страниц повышает производительностьсервера, не требуя дополнительной настройки. Подробная информацияоб этой директиве приведена в разделе “DynamicCache –Включить/выключить динамическое кэширование” на стр. 165.
Расширенный формат протоколаТеперь сервер IBM HTTP Server поддерживает расширенный форматпротокола. Расширенный формат позволяет сохранять информацию изпротоколов доступа, протокола ссылок и протокола браузеров в одномфайле протокола. Расширенный формат протокола позволяетсохранять в протоколе доступа большой объем информации иобеспечивает пользователям широкие возможности выбораконкретных типов сохраняемых данных. Кроме того, для расширенногоформата протокола разработано большое количество разнообразныхинструментов анализа. Более подробная информация о расширенномформате протокола приведена в разделе “ExtendedLogFormat –Расширенный формат протокола доступа” на стр. 85.
Простой протокол доступа к каталогам (LDAP)Теперь информацию о конфигурации сервера и идентификационнуюинформацию можно хранить на серверах LDAP, к которым сервер IBMHTTP Server будет обращаться по мере необходимости. ПоддержкаLDAP позволяет организовать централизованное хранение такойинформации, общей для нескольких систем. Информация о работесервера IBM HTTP Server с LDAP приведена в разделе “СерверыLDAP” на стр. 59.
Создание отчетов
Сервер HTTP может создавать отчеты двух типов: простой отчет иотчет об использовании ресурсов Web. Оба типа отчетов можнопросматривать в окне браузера. Простой отчет создаетсяпользователем с помощью интерактивного интерфейса. Сервер HTTPможет создавать простые отчеты и отчеты об использовании ресурсовWeb в указанное пользователем время. Отчеты создаются на основеинформации, хранящейся в протоколах доступа, браузеров и ссылок.Подробная информация о том, как сервер преобразует файлыпротоколов в отчеты, приведена в разделе “Создание отчетов” настр. 93.
Архивация протоколов и отчетовСервер IBM HTTP Server позволяет управлять работой со старымипротоколами доступа, протоколами ошибок и отчетами. Управлениеархивацией старых протоколов доступа, протоколов ошибок и отчетов
Copyright IBM Corp. 1997, 1999 xxi
осуществляется независимо. Сведения об архивации протоколовдоступа приведены в разделе “AccessLogArchive – Обслуживаниефайлов протоколов доступа, браузеров и ссылок” на стр. 69. Сведенияоб архивации протоколов ошибок приведены в разделе“ErrorLogArchive – Обслуживание файлов протоколов внутреннихошибок сервера и ошибок CGI” на стр. 83. Сведения об архивацииотчетов приведены в разделе “ReportDataExpire – Удалять файлыпротоколов доступа через указанное число дней” на стр. 99.
Поддержка CGI с несколькими нитямиДля IBM HTTP Server можно писать программы с несколькими нитямине только на Java, но и на других языках. В зависимости отконкретного URL, программы CGI могут выполняться с одной или снесколькими нитями. Более подробная информация о поддержкепрограмм CGI с несколькими нитями приведена в разделе“CgiThreadedMode – Разрешить по умолчанию задания CGI снесколькими нитями” на стр. 25. Информация о написании программCGI для IBM HTTP Server приведена в книге IBM HTTP Server WebProgramming Guide, GC41–5435.
Простой протокол управления сетью (SNMP)Теперь вы можете контролировать состояние сервера IBM HTTPServer с помощью протокола SNMP. SNMP – это широкораспространенный протокол связи с различными устройствами в сети.Для наблюдения за состоянием, производительностью ивыполняемыми сервером операциями можно воспользоваться любойсистемой управления сетью, поддерживающей SNMP – например,TME IO NetView, TME IO Distributed Monitoring или HP Openview. Болееподробная информация приведена в разделе “Простой протоколуправления сетью (SNMP)” на стр. 160.
Оценка содержания Web–сайтаСервер IBM HTTP Server поддерживает Платформу выборасодержания Internet (PICS). С помощью PICS пользователи могутфильтровать поступающую из сети информацию и принимать илиотклонять ее на основании заданных критериев оценки. Это позволяетродителям, организациям, школам и обычным пользователямблокировать доступ к определенной информации. Сервер HTTPподдерживает следующие возможности:
¹ Хранение и предоставление пользователям меток оценок длядокументов Web–сайта.
¹ Работа в качестве службы оценок, присваивающей метки оценокдокументам других Web–сайтов.
Настраивать PICS на сервере IBM HTTP Server можно с помощьюдиректив конфигурации, описанных в разделе “Оценки для Web–сайта”на стр. 169.
Добавлена поддержка следующих директив конфигурации:
xxii Руководство администратора IBM HTTP Server для AS/400 V4R4
Информация об этих и других директивах сервера приведена в разделе“Директивы файла конфигурации сервера” на стр. 3.
Увеличено количество поддерживаемых поддиректив конфигурации.
Добавлены новые поддирективы директивы ExtendedLogFormat:
Добавлены новые поддирективы директивы Protection:
Добавлены новые поддирективы директивы LDAPInfo:
Добавлены новые поддирективы работы с отчетами:
AccessLogArchiveAccessLogExpireAccessLogSizeLimitAccessLogExcludeUserAccessLogExcludeUserAgentAccessReportDoDnsLookupAccessReportTemplateCgiThreadedModeDefineLBServiceDefineServiceDirExcludeMultiDoReportingDoWebUsageMiningDynamicCacheErrorLogArchive
ErrorLogExpireErrorLogSizeLimitExtendedLogFormatLabelsForLDAPIncludeLDAPInfoMultiFormatProcessingPICSDBLookupReportDataArchiveReportDataExpireReportDataSizeLimitReportProcessOldLogsSNMPSNMPCommunityNameWebMasterEmail
DateEndDateField
RemarkSoftwareStartDate
DeleteMaskPutMask
CacheTimeoutClientAuthTypeGroupMemberAttrsGroupNameFilterGroupSearchBaseHostIdleConnTimeoutPortSearchTimeout
ServAuthTypeServerDNServerPasswordStashFileTransportUserNameFieldSepUserNameFilterUserSearchBaseWaitToRetryConnTime
AccessReportDescriptionAccessReportExcludeHostNameAccessReportExcludeMethodAccessReportExcludeReturnCode
AccessReportExcludeURLAccessReportIncludeURLAccessReportIncludeHostNameAccessReportTopList
Новые возможности IBM HTTP Server для AS/400 xxiii
xxiv Руководство администратора IBM HTTP Server для AS/400 V4R4
Настройка сервера IBM HTTP Server
Copyright IBM Corp. 1997, 1999 1
2 Руководство администратора IBM HTTP Server для AS/400 V4R4
Директивы файла конфигурации сервера
В этом разделе описаны все директивы конфигурации сервера IBM HTTP Server.Значения директив можно изменять с помощью форм настройки и управлениясервером IBM HTTP Server, а также с помощью команд CL AS/400.
Настоятельно рекомендуем вам везде, где это возможно, изменять файлыконфигурации с помощью форм настройки и управления, а не вручную.
Дополнительная информация о работе с формами настройки и управленияприведена в AS/400 Information Center. Information Center поставляется накомпакт–диске AS/400e Information Center (английская версия: SK3T–2027) или наодном из следующих Web–сайтов:
http://www.as400.ibm.com/infocenter
http://publib.boulder.ibm.com/pubs/html/as400/infocenter.htm
Дополнительная информация о командах языка CL системы AS/400 приведена вразделе Приложение A, “Команды AS/400” на стр. 233.
Директива конфигурации – это специальная инструкция сервера IBM HTTPServer. Каждая директива в файле конфигурации управляет определеннойфункцией сервера. Для того чтобы изменения вступили в силу, сервер долженбыть перезапущен.
Для того чтобы изменения следующих директив вступили в силу, необходимоостановить и снова запустить сервер:
¹ BindSpecific
¹ imbeds
¹ NormalMode
¹ Port
¹ SSLClientAuth
¹ SSLMode
¹ SSLPort
¹ UserID
Дополнительная информация об остановке и запуске сервера приведена в AS/400Information Center.
Перечисленные в следующей таблице директивы объединены в группы повыполняемым функциям, по аналогии с организацией форм настройки иуправления Web–интерфейса. Группы перечислены в том же порядке, что и вформах Web–интерфейса. Директивы каждой группы перечислены в алфавитномпорядке.
Copyright IBM Corp. 1997, 1999 3
Примечания:
1. Поскольку система AS/400 содержит различные файловые системы, какучитывающие регистр символов в именах файлов, так и не учитывающие,сервер сохраняет регистр символов во всех URL, указываемых в директивах.По этой причине, при работе с файловыми системами, не учитывающимирегистр, с директивами управления запросами PASS, Protect и EXECнеобходимо указывать директиву MAP.
2. В файловой системе QOpenSys регистр символов в именах файловучитывается. Указывайте каталоги и имена файлов этой файловой системы вправильном регистре.
Таблица 2 (Стр. 1 из 10). Список всех директив конфигурации сервера IBM HTTP Server
Тип Описание Стр. Директива Имя формы (если есть)
Базовыедирективы
Связать сервер с однимили всеми IP–адресами
16 BindSpecific Базовая конфигурация
Нужно ли определятьимена хостов клиентов
16 DNS–Lookup Базовая конфигурация
Полное имя хоста илиIP–адрес сервера
17 HostName Базовая конфигурация
Включить расширенныефункции сервера
17 imbeds Базовая конфигурация
Порт сервера для приемазапросов
19 Port Базовая конфигурация
Глобальныйидентификаторпользователя поумолчанию
19 UserID Базовая конфигурация
ПараметрыCGI
Параметрыпреобразования данныхдля программ CGI
21 CGIConvMode Параметры CGI
Базовый CCSID EBCDICдля преобразованияEBCDIC–ASCII программCGI
23 DefaultFsCCSID Параметры CGI
Базовый CCSID ASCII дляпреобразованияEBCDIC–ASCII программCGI
23 DefaultNetCCSID Параметры CGI
Путь к классам Java 24 JavaClassPath Параметры CGI
Размер буфера дляфайлов, создаваемыхдинамически иполучаемых от другихсерверов
25 MaxContentLengthBuffer Параметры CGI
4 Руководство администратора IBM HTTP Server для AS/400 V4R4
Таблица 2 (Стр. 2 из 10). Список всех директив конфигурации сервера IBM HTTP Server
Тип Описание Стр. Директива Имя формы (если есть)
Разрешить по умолчаниюзадания CGI снесколькими нитями
25 CgiThreadedMode Параметры CGI
Переменныесреды
Переменные среды, ненаследуемыепрограммами CGI
26 DisInheritEnv Переменные среды
Переменные среды,наследуемыепрограммами CGI
27 InheritEnv Переменные среды
ПостоянныйCGI
Максимальное числозаданий постоянного CGI
28 MaxPersistentCGI Постоянный CGI
Максимальный тайм–аутдля заданий постоянногоCGI
28 MaxPersistentCGITimeout Постоянный CGI
Тайм–аут по умолчаниюдля заданий постоянногоCGI
28 PersistentCGITimeout Постоянный CGI
Начальныестраницы
Всегда возвращать файлс начальной страницей
29 AlwaysWelcome Начальные страницы
Показывать спискикаталогов
30 DirAccess Начальные страницы
Имена файлов сначальными страницами
30 Welcome Начальные страницы
Спискисодержимогокаталогов
Показывать размернебольших файлов вбайтах
32 DirShowBytes Списки содержимогокаталогов
Сортировать файлы сучетом регистрасимволов
33 DirShowCase Списки содержимогокаталогов
Показывать датупоследнего изменения
33 DirShowDate Списки содержимогокаталогов
Показывать описанияфайлов
33 DirShowDescription Списки содержимогокаталогов
Максимальная длинаописания
34 DirShowMaxDescrLength Списки содержимогокаталогов
Максимальная длинаимени файла
34 DirShowMaxLength Списки содержимогокаталогов
Минимальная длинаимени файла
34 DirShowMinLength Списки содержимогокаталогов
Показывать владельцевфайлов
35 DirShowOwner Списки содержимогокаталогов
Показывать размерфайлов
35 DirShowSize Списки содержимогокаталогов
Директивы файла конфигурации сервера 5
Таблица 2 (Стр. 3 из 10). Список всех директив конфигурации сервера IBM HTTP Server
Тип Описание Стр. Директива Имя формы (если есть)
Значкисодержимогокаталогов
URL значка длявыравнивания заголовка
35 AddBlankIcon Значки содержимогокаталогов
URL значка для каталогов 36 AddDirIcon Значки содержимогокаталогов
URL значка длятипа/кодировки MIME
37 AddIcon Значки содержимогокаталогов
URL значка дляродительского каталога
38 AddParentIcon Значки содержимогокаталогов
URL значка для файловнеизвестного типа
38 AddUnknownIcon Значки содержимогокаталогов
Показывать значки 39 DirShowIcons Значки содержимогокаталогов
Путь к значкам 39 IconPath Значки содержимогокаталогов
ФайлыREADME
Файлы README всписках каталогов
40 DirReadme Файлы README
Пользова–тельскиекаталоги
Имя каталога, в которыйпользователи могутпомещать собственныедокументы Web
41 UserDir Пользовательские каталоги
Настройкасообщенийоб ошибках
Изменить сообщение обошибке
42 ErrorPage Настройка сообщений обошибках
СервлетыJava
Работа с сервлетамиJava
49 Сервлеты Java
Языки икодировки
Выбор формата MIME 49 MultiFormatProcessing
Запретить выбор форматаMIME в каталоге
50 DirExcludeMulti
Web–браузер, связанныйс указаннымрасширением
51 AddClient Автоматическоеопределение типа браузера
Кодировка MIME дляфайлов с указаннымрасширением
53 AddEncoding Кодировки MIME
Язык для файлов суказанным расширением
54 AddLanguage Языки
Тип MIME для файлов суказанным расширением
55 AddType Типы MIME
Учитывать регистр врасширениях файлов
58 SuffixCaseSense Расширения файлов
6 Руководство администратора IBM HTTP Server для AS/400 V4R4
Таблица 2 (Стр. 4 из 10). Список всех директив конфигурации сервера IBM HTTP Server
Тип Описание Стр. Директива Имя формы (если есть)
СерверыLDAP
Задать конфигурациюLDAP
59 LDAPInfo Формы LDAP
Получить конфигурациюWeb–сервера от сервераLDAP
59 LDAPInclude Формы LDAP
Ведениепротоколов
Путь к файлам протоколадоступа
67 AccessLog Протокол доступа
Обслуживание файловпротоколов доступа,браузеров и ссылок
69 AccessLogArchive Протокол доступа
Не создавать записипротокола для файлов икаталогов, запрошенныхуказанным методом
70 AccessLogExcludeMethod Протокол доступа
Не создавать записипротокола для указанныхтипов MIME
71 AccessLogExcludeMIMEType Протокол доступа
Не создавать записипротокола для указанныхкодов возврата
72 AccessLogExcludeReturnCode Протокол доступа
Не создавать записипротокола для указанныхфайлов и каталогов
73 AccessLogExcludeURL Протокол доступа
Не создавать записипротокола для указанныхбраузеров
73 AccessLogExcludeUserAgent Протокол доступа
Удалять файлыпротоколов доступа,браузеров и ссылок черезуказанное количестводней
74 AccessLogExpire Протокол доступа
Удалять файлыпротоколов доступа,браузеров и ссылок,когда их общий размерпревышает указанный
74 AccessLogSizeLimit Протокол доступа
Путь к файлам протоколабраузеров
75 AgentLog Протокол доступа
Путь к файлам протоколадоступа к кэшу
77 CacheAccessLog Протокол доступа
Путь к файлам протоколаошибок CGI
79 CGIErrorLog Протокол ошибок
Директивы файла конфигурации сервера 7
Таблица 2 (Стр. 5 из 10). Список всех директив конфигурации сервера IBM HTTP Server
Тип Описание Стр. Директива Имя формы (если есть)
Путь к файлу протоколавнутренних ошибоксервера
81 ErrorLog Протокол ошибок
Обслуживание файловпротоколов внутреннихошибок сервера иошибок CGI
83 ErrorLogArchive Протокол ошибок
Удалять файлыпротоколов ошибок и CGIчерез указанноеколичество дней
84 ErrorLogExpire Протокол ошибок
Удалять файлыпротоколов ошибок иCGI, когда их общийразмер превышаетуказанный
85 ErrorLogSizeLimit Протокол ошибок
Расширенный форматпротокола доступа
85 ExtendedLogFormat Глобальные параметрыведения протоколов
Формат протокола:общий, DDS илирасширенный
88 LogFormat Глобальные параметрыведения протоколов
Время в файлахпротоколов: по Гринвичуили местное
90 LogTime Глобальные параметрыведения протоколов
Не создавать записипротокола для указанныххостов и доменов
91 NoLog Протокол доступа
Путь к файлам протоколадоступа к Proxy
133 ProxyAccessLog Протокол доступа
Путь к файлам протоколассылок
91 RefererLog Протокол доступа
Созданиеотчетов
Показывать в отчетахимена хостов клиентов
94 AccessReportDoDnsLookup Глобальные параметрыотчета
Задать шаблон отчета 94 AccessReportTemplate Формы Шаблоны отчетов
Проверять старые файлыв каталоге протоколадоступа
97 ReportProcessOldLogs Глобальные параметрыотчета
Максимальный общийразмер файлов протоколадоступа
98 ReportDataSizeLimit Глобальные параметрыотчета
Удалять файлы протоколадоступа
98 ReportDataArchive Глобальные параметрыотчета
Время удаления файловпротокола доступа
99 ReportDataExpire Глобальные параметрыотчета
8 Руководство администратора IBM HTTP Server для AS/400 V4R4
Таблица 2 (Стр. 6 из 10). Список всех директив конфигурации сервера IBM HTTP Server
Тип Описание Стр. Директива Имя формы (если есть)
Время создания отчетов 100 DoReporting Глобальные параметрыотчета
Время создания отчетовоб использованииресурсов Web
100 DoWebUsageMining Глобальные параметрыотчета
Мета–информация
Имя подкаталога дляфайлов мета–информации
102 MetaDir Мета–информация
Расширение файловмета–информации
103 MetaSuffix Мета–информация
Применять мета–файлы 103 UseMetaFiles Мета–информация
Защита Включить защиту дляуказанных запросов
104 Protect Защита документов
Задать в файлеконфигурации сервераконфигурацию защиты
108 Protection Формы Защита
Поддирективыконфигурации защиты
109 Поддирективы Protection Формы Защита
ПараметрыProxy
Путь к файлам протоколадоступа к кэшу
77 CacheAccessLog Параметры кэширования
Время хранения в кэшефайлов с указаннымиURL
122 CacheClean Время хранения файлов вкэш–памяти
Время хранения файлов вкэше по умолчанию
123 CacheDefaultExpiry Другие ограничениявремени для кэш–памяти
Проверка временихранения файлов в кэше
123 CacheExpiryCheck Время хранения файлов вкэш–памяти
Часть времени с моментапоследнего изменения,применяемая дляопределения интервалахранения
124 CacheLastModifiedFactor Время хранения файлов вкэш–памяти
Нижний предел дляфайлов, удаляемыхсервером при сборемусора
124 CacheLimit_1 Параметры кэширования
Верхний предел размерафайлов в кэше
125 CacheLimit_2 Параметры кэширования
Тайм–аут блокировкифайлов в кэше
125 CacheLockTimeOut Параметры кэширования
Включить режимавтономногокэширования
126 CacheNoConnect Время хранения файлов вкэш–памяти
Директивы файла конфигурации сервера 9
Таблица 2 (Стр. 7 из 10). Список всех директив конфигурации сервера IBM HTTP Server
Тип Описание Стр. Директива Имя формы (если есть)
Заносить в кэш толькофайлы с указанными URL
126 CacheOnly Фильтры кэширования
Корневой каталог кэшана сервере
126 CacheRoot Параметры кэширования
Размер кэша 127 CacheSize Параметры кэширования
Не заносить в кэшфайлы, срок хранениякоторых меньшеуказанного
127 CacheTimeMargin Время хранения файлов вкэш–памяти
Максимальное времяхранениянеиспользуемых файлов вкэше
128 CacheUnused Другие ограничениявремени для кэш–памяти
Включить/выключитькэширование Proxy
128 Caching Параметры кэширования
Proxy, обрабатывающийзапросы FTP
128 ftp_proxy Цепочки Proxy и доменыпрямого доступа
Включить/выключить сбормусора
129 Gc Параметры кэширования
Время ежедневногосбора мусора
129 GcDailyGc Параметры кэширования
Объем памяти,применяемый для сборамусора
130 GcMemUsage Параметры кэширования
Proxy, обрабатывающийзапросы Gopher
130 gopher_proxy Цепочки Proxy и доменыпрямого доступа
Proxy, обрабатывающийзапросы HTTP
131 http_proxy Цепочки Proxy и доменыпрямого доступа
Не кэшировать файлы суказанными URL
132 NoCaching Фильтры кэширования
Протоколы Proxy 132 Proxy Параметры сервера Proxy
Путь к файлам протоколадоступа к Proxy
133 ProxyAccessLog Параметры сервера Proxy
Устанавливать прямоесоединение с указаннымидоменами
131 no_proxy Цепочки Proxy и доменыпрямого доступа
Пользова–тельскиепроцедуры
Пользовательскаяпроцедура идентификации
137 Authentication Работа приложений с APIсервера
Пользовательскаяпроцедура проверки правдоступа
138 Authorization Работа приложений с APIсервера
10 Руководство администратора IBM HTTP Server для AS/400 V4R4
Таблица 2 (Стр. 8 из 10). Список всех директив конфигурации сервера IBM HTTP Server
Тип Описание Стр. Директива Имя формы (если есть)
Пользовательскаяпроцедура фильтрацииданных
139 DataFilter Работа приложений с APIсервера
Пользовательскаяпроцедура обработкиошибок
139 Error Работа приложений с APIсервера
Пользовательскаяпроцедура веденияпротоколов
140 Log Работа приложений с APIсервера
Пользовательскаяпроцедура определениятипа объекта
141 ObjectType Работа приложений с APIсервера
Пользовательскаяпроцедура полученияметок PICS
142 PICSDBLookup Работа приложений с APIсервера
Пользовательскаяпроцедура, вызываемаяпосле выхода
143 PostExit Работа приложений с APIсервера
Пользовательскаяпроцедура, вызываемаяперед выходом
143 PreExit Работа приложений с APIсервера
Пользовательскаяпроцедура инициализациисервера
144 ServerInit Работа приложений с APIсервера
Пользовательскаяпроцедура завершенияработы сервера
144 ServerTerm Работа приложений с APIсервера
Методы Запретить методы HTTP 148 Disable Методы
Разрешить методы HTTP 148 Enable Методы
Маршрутизациязапросов
Запускать для указанныхзапросов программу CGI
148 Exec Маршрутизация запросов
Отклонять указанныезапросы
150 Fail Маршрутизация запросов
Преобразовыватьуказанные запросы
151 Map Маршрутизация запросов
Пользовательскаяпроцедурапреобразования имен
152 NameTrans Маршрутизация запросов
Принимать указанныезапросы
153 Pass Маршрутизация запросов
Отправлять указанныезапросы другомусерверу/по другому URL
155 Redirect Маршрутизация запросов
Директивы файла конфигурации сервера 11
Таблица 2 (Стр. 9 из 10). Список всех директив конфигурации сервера IBM HTTP Server
Тип Описание Стр. Директива Имя формы (если есть)
Пользовательскаяпроцедура обслуживаниязапросов
157 Service Маршрутизация запросов
Конфигурациязащиты
Включить/выключитьнезащищенный режим
158 NormalMode Настройка защиты
Включить/выключитьидентификацию клиентовSSL
159 SSLClientAuth Настройка защиты
Включить/выключитьзащищенный порт
159 SSLMode Настройка защиты
Защищенный (SSL) порт 160 SSLPort Настройка защиты
SNMP Включить/выключитьSNMP
160 SNMP SNMP
Имя группывзаимодействия SNMP
160 SNMPCommunityName SNMP
Электронный адрес длясообщений об ошибкахSNMP
160 WebMasterEmail SNMP
Управлениесистемой
Файлы, загружаемые впамять при запуске
164 CacheLocalFile Локальный кэш
Максимальный объемпамяти, выделяемый длякэширования файлов
164 CacheLocalMaxBytes Локальный кэш
Максимальноеколичествоодновременнокэшируемых файлов
165 CacheLocalMaxFiles Локальный кэш
Включить/выключитьдинамическоекэширование
165 DynamicCache Параметрыпроизводительности
Тайм–аут ввода 166 InputTimeout Тайм–ауты
Обновление кэша приизменении файла,хранящегося в кэше
166 LiveLocalCache Локальный кэш
Максимальное числоактивных нитей
166 MaxActiveThreads Параметрыпроизводительности
Максимальное числозапросов по одномупостоянному соединению
167 MaxPersistRequest Параметрыпроизводительности
Минимальное числосуществующих нитей
167 MinActiveThreads Параметрыпроизводительности
Тайм–аут вывода 168 OutputTimeout Тайм–ауты
12 Руководство администратора IBM HTTP Server для AS/400 V4R4
Таблица 2 (Стр. 10 из 10). Список всех директив конфигурации сервера IBM HTTP Server
Тип Описание Стр. Директива Имя формы (если есть)
Тайм–аут неактивногопостоянного соединения
168 PersistTimeout Параметрыпроизводительности
Тайм–аут сценариев 169 ScriptTimeout Тайм–ауты
Применять файлы ACL 169 UseACLs Параметрыпроизводительности
Оценки PICSдля Web–сайтов
Оценки для документовсайта
170 LabelsFor Работа с метками PICS длядругих Web–сайтов
Локальные файлы меток,полученные отнезависимой службыоценок
171 DefineService Зарегистрироватьнезависимую службуоценок, Управлениеметками PICS Web–сайта,Запросить записи меток унезависимой службыоценок
Локальные файлы меток,полученные отсобственной службыоценок
171 DefineLBService Зарегистрироватьсобственную службуоценок, Работа с меткамиPICS для других Web–сайтов, Метки PICSсобственной службы оценок
Конфигурациязащиты отатак,приводящихк отказу вобслуживании
Меры, принимаемые приобнаружении атаки
173 DenialOfServicePenalty Отказ в обслуживании
Порог обнаружения атаки 174 DenialOfServiceThreshold Отказ в обслуживании
Имена или IP–адресаизвестныхмаршрутизаторов ибрандмауэров, которыене могут быть источникоматаки
175 DenialOfServiceTrusted Отказ в обслуживании
Обзор директивОписание каждой директивы содержит:
¹ Заголовок с именем директивы и кратким описанием
¹ Инструкции по использованию
¹ Пример указания директивы в файле конфигурации. Общий синтаксис каждойдирективы следующий:
Имя–директивы Значение
Директивы файла конфигурации сервера 13
где Имя–директивы – это имя директивы конфигурации сервера, а значение –значение этой директивы, указываемое пользователем.
Примечание: Регистр символов в именах директив не различается. Регистрсимволов в значениях директив может иметь значение.
¹ Значение по умолчанию. Значения по умолчанию позволяют изменять толькоту часть конфигурации, которая отличается от стандартной.
Значение некоторых директив включает шаблоны запросов, имен хостов,каталогов и файлов. Везде, где не указано обратное, в этих шаблонах можноуказывать символ звездочки (*). Звездочке может соответствовать любой символили несколько символов в строке сравнения.
В некоторых директивах конфигурации можно указывать положительный ответ. Вэтом случае вы можете ввести одно из следующих слов:
¹ Yes
¹ On
¹ OK
¹ Enable
Все они означают подтверждение действия директивы.
В некоторых директивах конфигурации можно указывать отрицательный ответ. Вэтом случае вы можете ввести одно из следующих слов:
¹ No
¹ Off
¹ None
¹ Disable
Все они означают запрещение действия директивы.
В некоторых директивах конфигурации можно указывать промежуток времени. Вэтом случае вы можете указать любую комбинацию следующих значений:
чч часы
чч:мм часы и минуты
чч:мм:сс часы, минуты и секунды
n years число лет по 365 дней
n months число месяцев по 30 дней
n weeks число недель
n days число дней
n hours число часов
n minutes число минут
14 Руководство администратора IBM HTTP Server для AS/400 V4R4
n seconds число секунд
Все значения будут преобразованы в секунды и сложены.
В некоторых директивах конфигурации можно указывать размер файла. Размерможет быть указан в следующих единицах:
b или B байты
k или K килобайты
m или M мегабайты
g или G гигабайты
Значением по умолчанию называется значение, присваиваемое директивесервером, если эта директива не указана в файле конфигурации.
Начальным называется значение, указанное в конфигурации CONFIG,применяемой экземпляром DEFAULT сервера. Конфигурация CONFIG иэкземпляр DEFAULT сервера поставляются вместе с сервером. Сервер ADMIN неприменяет конфигурацию CONFIG, и его параметры не совпадают с начальнымипараметрами сервера.
Внимание!
Непосредственное редактирование файла конфигурации сервера – сложнаязадача. Для ее упрощения IBM создала формы настройки иадминистрирования сервера IBM HTTP Server, применяющие Web–браузер.Настоятельно рекомендуем вам везде, где это возможно, изменятьфайлы конфигурации с помощью форм настройки и администрирования,а не вручную. Информация о формах настройки и администрированияприведена в AS/400 Information Center.
Информация о команде WRKHTTPCFG, предназначенной для прямогоредактирования конфигурации, приведена в разделе “Редактирование файлаконфигурации с помощью команды WRKHTTPCFG” на стр. 251.
Резервное копирование файловПеред изменением конфигурации сервера IBM HTTP Server рекомендуем вамсохранить следующие файлы:
¹ Файлы конфигурации
¹ Файлы паролей
¹ Подписанные сертификаты и запросы на их получение
¹ Файлы групп
¹ Файлы списков прав доступа (ACL)
¹ Контрольные списки
Директивы файла конфигурации сервера 15
Базовые директивы
¹ Файлы, составляющие ваш сайт: Web–страницы, изображения и объектымультимедиа, программы CGI, сценарии Net.Data и прочее.
Дополнительная информация о резервном копировании и восстановлении файловв системе AS/400 приведена в книге Резервное копирование и восстановление,SH43–0080.
Базовые директивыСледующие директивы управляют базовыми параметрами сервера.
BindSpecific – Связать сервер с одним или всеми IP–адресамиВ системе с несколькими сетевыми интерфейсами эта директива указывает,нужно ли запускать отдельный экземпляр сервера для каждого IP–адреса. Всеэкземпляры при этом могут быть подключены к одному порту.
Значение On указывает экземпляру сервера подключаться только к IP–адресу,указанному в директиве HostName, а не ко всем локальным IP–адресам.
Если данная директива не указана, сервер подключается к имени хоста,указанному в директиве HostName, которую можно изменить опциями 12 и 13команды CFGTCP.
После изменения этой директивы необходимо остановить и снова запуститьсервер. Простого перезапуска сервера недостаточно.
Пример
BindSpecific On
Значение по умолчанию
BindSpecific Off
Данная директива применяется следующей формой:
¹ Базовая конфигурация
DNS–Lookup – Определять имена хостов клиентовДанная директива указывает, нужно ли определять имена хостов клиентов.
Значение этой директивы влияет на следующие характеристики сервера:
¹ Быстродействие. Значение Off увеличивает быстродействие сервера,поскольку ему не приходится тратить время на преобразование имен хостов.По умолчанию выбирается значение Off.
¹ Способ идентификации клиентов в файлах протоколов:
– Off – Клиенты идентифицируются по IP–адресу
– On – Клиенты идентифицируются по имени хоста
16 Руководство администратора IBM HTTP Server для AS/400 V4R4
Базовые директивы
¹ Возможность указания имен хостов в шаблонах конфигурации защиты, файлахгрупп и ACL.
– Off – Указание имен хостов недопустимо; необходимо указывать толькоIP–адреса
– On – Можно указывать имена хостов; указание IP–адресов недопустимо
Примечание: Значение On в данной директиве не гарантируетпреобразования имен хостов в IP–адреса; последнеезависит от конфигурации TCP/IP и DNS.
Пример
DNS–Lookup On
Значение по умолчанию
DNS–Lookup Off
Данная директива применяется следующей формой:
¹ базовая конфигурация
HostName – Полное имя хоста или IP–адрес сервераДанная директива задает имя хоста или IP–адрес сервера, возвращаемыйклиентам в ответах на запросы. При указании имени хоста это имя будетпреобразовано в IP–адрес; для этого нужен сервер имен доменов (DNS). Приуказании IP–адреса сервер имен доменов не требуется.
Пример имени хоста: host.yourcompany.com; пример IP–адреса: 9.4.6.128.
Формат этой директивы следующий:
HostName name или IP–адрес
Пример
HostName beth.chi.com
Данная директива применяется следующей формой:
¹ Базовая конфигурация
imbeds – Включить расширенные функции сервераДанная директива управляет расширенными функциями сервера, позволяющимивыполнять дополнительную обработку документов, получаемых изИнтегрированной файловой системы (IFS) и от программ CGI. Расширенныефункции сервера применяются к документам типа text/x–ssi–html. Вы такжеможете включить эти функции для документов типа text/html. Дополнительнаяинформация о типах MIME приведена в разделе “AddType – Тип MIME файлов суказанным расширением” на стр. 55.
Директивы файла конфигурации сервера 17
Базовые директивы
Расширенные функции сервера позволяют динамически добавлять в документыследующую информацию:
¹ Текущую дату
¹ Размер файла
¹ Дату последнего изменения файла
¹ Переменные CGI или расширенных функций сервера
¹ Текстовые документы
Для этого при передаче каждого документа сервер ищет в нем специальныекоманды. Это может повлиять на быстродействие и время ответа сервера.
Формат этой директивы следующий:
imbeds источник [тип]
источник может принимать одно из следующих значений:
on Расширенные функции сервера применяются к документам,получаемым как из IFS, так и от программ CGI
files Расширенные функции сервера применяются к документам,получаемым из IFS
cgi Расширенные функции сервера применяются к документам,получаемым от программ CGI
off Расширенные функции сервера не применяются.
Сервер проверяет тип каждого полученного документа.
Обычно расширенные функции сервера применяются к документам типа text/x–ssi–html. Однако вы можете включить расширенные функции сервера и длядокументов типа text/html.
тип может принимать одно из следующих значений:
SSIOnly Расширенные функции сервера применяются только к документамтипа text/x–ssi–html.
html Расширенные функции сервера применяются к документам типовtext/html и text/x–ssi–html.
Примечание: Сервер рассматривает все файлы с расширениями .html и .htm какдокументы в формате HTML. Файлы всех остальных типовдоступны только через расширенные функции сервера.
Для каждого применяемого расширения должна быть указана директива AddTypeс правильным типом. Если вы хотите присвоить другое расширение файлам,предназначенным для обработки расширенными функциями сервера, укажите дляэтого расширения директиву AddType с типом text/s–ssi–html.
Пример
18 Руководство администратора IBM HTTP Server для AS/400 V4R4
Базовые директивы
imbeds files html
Значение по умолчанию
imbeds off SSIOnly
Данная директива применяется следующей формой:
¹ Базовая конфигурация
Port – Порт сервераДанная директива задает номер порта, по которому сервер будет получатьзапросы. Допустимый диапазон номеров портов – от 1 до 65535. Стандартныйпорт HTTP – 80. Остальные номера портов с номерами меньше 1024зарезервированы для других приложений TCP/IP. Номера портов 8080 и 8008обычно применяются серверами Proxy.
При выборе номера порта, отличного от 80, клиенты должны будут указывать этотномер во всех запросах, отправляемых серверу. Номер порта указывается в URLчерез двоеточие после имени хоста. Например, URL
http://www.bethh.com:8008/
запрашивает начальную страницу по умолчанию из хоста www.bethh.com черезпорт 8008.
После изменения этой директивы необходимо остановить и снова запуститьсервер. Простого перезапуска сервера недостаточно. Дополнительнаяинформация об остановке и запуске сервера приведена в AS/400 InformationCenter.
Пример
Port 8080
Значение по умолчанию
Port 80
Данная директива применяется следующими формами:
¹ Изменить параметры экземпляра
¹ Базовая конфигурация
UserID – Глобальный идентификатор пользователя по умолчаниюДанная директива задает пользовательский профайл системы AS/400, подуправлением которого сервер запрашивает доступ к файлам. Для защищенныхресурсов (для которых указана директива Protection) поддиректива UserIDуказывает пользовательский профайл системы AS/400, под управлением которогосервер запрашивает доступ к этому ресурсу.
Директивы файла конфигурации сервера 19
Все директивы (и поддирективы) UserID проверяются при запуске сервера. Еслихотя бы одна из них не будет удовлетворять перечисленным ниже условиям,экземпляр сервера не будет запущен, а в очередь сообщений QSYSOPR будетотправлено соответствующее сообщение:
¹ Указанный пользовательский профайл должен существовать в системе AS/400
¹ Пользовательский профайл QSECOFR указывать нельзя
¹ У профайла, из которого была запущена команда STRTCPSVR, должны бытьправа доступа *USE ко всем пользовательским профайлам, указанным вдирективах и поддирективах UserID.
Примечание: Поскольку защита сервера IBM HTTP Server зависит от правдоступа пользовательского профайла, указанного в директивеUserID, необходимо правильно выбрать этот профайл.Например, если вы укажете в директиве UserIDпользовательский профайл MIGHTY1 класса *SECOFR, тодоступные через сервер ресурсы будут определяться правамидоступа этого профайла.
В директиве UserID можно указать также два специальных значения. Значение%%SERVER%% указывает, что сервер должен использовать пользовательскийпрофайл QTMHHTTP, если в поддирективе UserID директивы Protection не указандругой пользовательский профайл. Значение %%CLIENT%% указывает, что в каждомзапросе должен подтверждаться ИД пользователя и пароль.
Примечание: При работе сервера под управлением профайла QTMHHTTP(значение по умолчанию), если не указана указана директиваUserID, сервер запускает программы CGI под управлениемQTMHHTP1. Если же директива UserID указана, программа CGIбудет запущена под управлением профайла, заданного в этойдирективе. Если у этого профайла недостаточно прав длявыполнения программы, запрос будет отклонен.
Пример
UserID Webmaster
Значение по умолчанию
UserID %%SERVER%%
Данная директива применяется следующей формой:
¹ Базовая конфигурация
Параметры CGIПараметры CGI управляют преобразованием данных между кодировками EBCDICи ASCII для программ CGI. Соответствующие директивы задают значения поумолчанию для параметров преобразования. Эти значения могут бытьпереопределены в необязательных параметрах директив Exec и Service. Форма
20 Руководство администратора IBM HTTP Server для AS/400 V4R4
Маршрутизация запросов находится в подразделе Обработка запросов разделаКонфигурации форм настройки и управления.
При включенном преобразовании между ASCII и EBCDIC сервер ищет вдокументах типов text/* и application/x–www–form–urlencoded тег charset. Еслитакой тег есть в документе, сервер преобразует его из указанного CCSID ASCII вCCSID EBCDIC задания. Иначе сервер определяет исходный CCSID по значениюдирективы DefaultNetCCSID.
Дополнительная информация о CGI и режимах преобразования приведена в книгеIBM HTTP Server Web Programming Guide, GC41–5435.
Параметры преобразования можно изменить с помощью формы Параметры CGI.Форма Параметры CGI находится в подразделе CGI раздела Конфигурации формнастройки и управления.
CGIConvMode – Параметры преобразования данных для программ CGIДанная директива управляет режимом преобразования данных при вызовепрограмм CGI.
Дополнительная информация об этой директиве приведена в электронной справкек форме Параметры CGI. Форма Параметры CGI находится в подразделе CGIраздела Конфигурации форм настройки и управления. Дополнительнаяинформация о программах CGI приведена в книге IBM HTTP Server Web Program–ming Guide, GC41–5435.
Формат этой директивы следующий:
CGIConvMode значение
где значение – это один из режимов преобразования данных для программ CGI изследующего списка:
%%MIXED/MIXED%%Переменные среды CGI, включая QUERY_STRING, преобразуются в CCSID37 EBCDIC. Данные stdin преобразуются в CCSID задания сервера. Однакосимволы, закодированные в формате "%xx", по–прежнему будутпредставлены октетом ASCII 819. Заголовок документа должен быть передансерверу в CCSID 37 EBCDIC. Коды "%xx" в выводе считаются символамиASCII 819. Если заголовок Content–type не указан, кодировкой тела документасчитается CCSID задания сервера. Это значение по умолчанию.
%%EBCDIC/MIXED%%Все данные преобразуются в CCSID EBCDIC задания. Все escape–октетытакже преобразуются из ASCII в EBCDIC. Заголовок документа должен бытьпередан серверу в CCSID EBCDIC 37. Коды "%xx" в выводе считаютсясимволами ASCII 819. Если заголовок Content–type не указан, кодировкойтела документа считается CCSID задания сервера.
Директивы файла конфигурации сервера 21
%%BINARY/MIXED%%Переменные среды преобразуются в CCSID EBCDIC задания, но данныеQUERY_STRING и stdin не преобразуются. Заголовок документа должен бытьпередан серверу в CCSID EBCDIC 37. Коды "%xx" в выводе считаютсясимволами ASCII 819. Если заголовок Content–type не указан, кодировкойтела документа считается CCSID задания сервера.
%%EBCDIC_JCD/MIXED%%Для определения исходного CCSID японского языка применяется утилитаJapanese Codepage Detection. В остальных случаях эта опция эквивалентна%%EBCDIC/MIXED%%.
%%EBCDIC/EBCDIC%%Все данные преобразуются в CCSID EBCDIC задания. Все escape–октетытакже преобразуются из ASCII в EBCDIC. Заголовок документа и символы"%xx" должны быть переданы серверу в CCSID EBCDIC 37. Если заголовокContent–type не указан, кодировкой тела документа считается CCSID заданиясервера.
%%BINARY/BINARY%%Переменные среды преобразуются в CCSID EBCDIC задания, но данныеQUERY_STRING и stdin не преобразуются. Заголовок и коды "%xx" в теледокумента должны быть переданы серверу в ASCII 819. Если заголовокContent–type не указан, кодировкой тела документа считается ASCII 819.
%%BINARY/EBCDIC%%Переменные среды преобразуются в CCSID EBCDIC задания, но данныеQUERY_STRING и stdin не преобразуются. Заголовок и коды "%xx" в теледокумента должны быть переданы серверу в CCSID 37 EBCDIC. Еслизаголовок Content–type не указан, кодировкой тела документа считаетсяCCSID задания сервера.
%%EBCDIC_JDC/EDCDIC%%Для определения исходного CCSID японского языка применяется утилитаJapanese Codepage Detection. В остальных случаях эта опция эквивалентна%%EBCDIC/EBCDIC%%.
Примечание: Действие режимов преобразования, указанных для предыдущихверсий, показано ниже:
¹ %%MIXED%% действует как %%MIXED/MIXED%%
¹ %%EBCDIC%% действует как %%EBCDIC/MIXED%%
¹ %%BINARY%% действует как %%BINARY/MIXED%%
¹ %%EBCDIC_JDC%% действует как%%EBCDIC_JDC/MIXED%%
Пример
CGIConvMode %%BINARY/BINARY%%
22 Руководство администратора IBM HTTP Server для AS/400 V4R4
В этом примере сервер преобразует переменные среды в EBCDIC CCSIDзадания. Escape–октеты в переменных среды преобразуются из ASCII в EBCDIC;QUERY_STRING и stdin не преобразуются.
Значение по умолчанию
CGIConvMode %%MIXED/MIXED%%
Данная директива применяется следующими формами:
¹ Параметры CGI
DefaultFsCCSID – Базовый CCSID сервераДанная директива явно задает CCSID EBCDIC сервера. Этот CCSID применяетсяпри преобразовании следующих данных:
¹ Запроса, полученного от клиента, перед передачей программе CGI
¹ Ответа, полученного от программы CGI, перед передачей браузеру клиента
¹ Документов, полученных из библиотеки QSYS.LIB, если по их CCSIDневозможно определить ASCII CCSID
Информация о преобразовании данных между ASCII и EBCDIC в системе AS/400приведена в книге AS/400 National Language Support, SC41–5101.
Директиву DefaultFsCCSID можно переопределить параметром –fsccsid командыSTRTCPSVR запуска экземпляра сервера.
После изменения этой директивы необходимо остановить и снова запуститьсервер.
Дополнительная информация об этой директиве приведена в электронной справкек форме Переменные среды. Форма Параметры CGI находится в подразделе CGIраздела Конфигурации форм настройки и управления.
Пример
DefaultFsCCSID 5026
Значение по умолчанию
Системное значение QCCSID
Данная директива применяется следующими формами:
¹ Параметры CGI
¹ Переменные среды
DefaultNetCCSID – Базовый CCSID клиентаЭта директива явно задает CCSID ASCII клиента. Указанный здесь CCSIDприменяется при преобразовании следующих данных:
¹ Запроса, полученного от клиента, перед передачей программе CGI
Директивы файла конфигурации сервера 23
¹ Ответа, полученного от программы CGI, перед передачей браузеру клиента
Информация о преобразовании данных между ASCII и EBCDIC в системе AS/400приведена в книге AS/400 National Language Support, SC41–5101.
Эта директива переопределяет значение CCSID, указанное в командеCHGHTTPA.
Директиву DefaultNetCCSID можно переопределить параметром –netccsidкоманды STRTCPSVR запуска экземпляра сервера.
После изменения этой директивы необходимо остановить и снова запуститьсервер.
Дополнительная информация об этой директиве приведена в электронной справкек форме Переменные среды. Форма Параметры CGI находится в подразделе CGIраздела Конфигурации форм настройки и управления.
Пример
DefaultNetCCSID 5052
Значение по умолчанию
DefaultNetCCSID 00819
Данная директива применяется следующими формами:
¹ Глобальные параметры сервера
¹ Изменить параметры экземпляра
¹ Переменные среды
JavaClassPath – Путь к классам JavaДанная директива задает путь к классам Java, применяемый сервером призапуске программ CGI на Java.
Формат этой директивы следующий:
JavaClassPath каталог;каталог;...каталог
где каталог – путь к классам Java для программ CGI.
Пример
JavaClassPath /QIBM/UserData/java/classes.zip;
/QIBM/UserData/java/cgi/classes.zip;
/QIBM/UserData/java/public
Примечание: Хотя в примере эта директива разбита на несколько строк, вфайле она должна быть указана одной строкой.
Значение по умолчанию
24 Руководство администратора IBM HTTP Server для AS/400 V4R4
Все классы должны находиться в том же каталоге, что и программы CGI на Java.
Данная директива применяется следующей формой:
¹ Параметры CGI
MaxContentLengthBuffer – Размер буфера для файлов, создаваемыхдинамически и получаемых от других серверов
Данная директива задает размер буфера для данных, создаваемых динамически.Данные создаются динамически программами CGI, расширенными функциямисервера и программами, работающими с API сервера. Этот буфер неприменяется для хранения данных, полученных по запросам к Proxy.
Значение может быть указано в байтах (B), килобайтах (K), мегабайтах (M) илигигабайтах (G). Пробел между числом и одним из указанных символов (B, K, Mили G) не имеет значения.
Пример
MaxContentLengthBuffer 2 M
Значение по умолчанию
MaxContentLengthBuffer 100 K
Данная директива применяется следующей формой:
¹ Параметры CGI
CgiThreadedMode – Разрешить по умолчанию задания CGI с несколькиминитями
Данная директива указывает, будут ли программы CGI запускаться в задании,допускающем выполнение нескольких нитей.
Для обработки запросов CGI сервер HTTP использует пул предварительныхзаданий. Программы, запускающие несколько нитей, должны выполнятся взаданиях, допускающих несколько нитей. Пул, в котором будет выполнятьсязадание, указывается во время запуска задания. После запуска пул задания неможет быть изменен. Поскольку не все API поддерживают программы снесколькими нитями, вызов некоторых из них из программы с несколькими нитямиможет привести к ошибке. Последнее может произойти, даже если в заданииактивна только одна нить. Поэтому для совместимости задания для программ CGIне должны по умолчанию поддерживать несколько нитей. Программы,запускающие несколько нитей, должны запускаться в других заданиях. ДирективаCgiThreadedMode позволяет изменить пул по умолчанию для заданий CGI, чтобыэти задания могли запускать несколько нитей. Директива Exec позволяетразрешить или запретить запуск нескольких нитей для конкретных заданий CGI.
Примечание: Данная директива не влияет на задания программ на Java.Программы CGI на Java всегда могут запускать несколько нитей.
Директивы файла конфигурации сервера 25
Пример
CgiThreadedMode On
Значение по умолчанию
CgiThreadedMode Off
Данная директива применяется следующей формой:
¹ Параметры CGI
Переменные средыПри запуске программ CGI сервер передает им информацию о запросе и о самомсебе с помощью переменных среды. С помощью следующих директив вы можетеуказать, какие переменные среды должны наследоваться программами CGI, акакие – нет. Список переменных среды CGI приведен в книге IBM HTTP ServerWeb Programming Guide, GC41–5435.
Если директива InheritEnv не указана, программами CGI наследуются всепеременные среды. Если указана хотя бы одна директива InheritEnv,программами CGI наследуются только переменные среды, указанные вдирективах InheritEnv. Для задания значения наследуемых переменных можноуказать в конфигурации директиву ENV=VALUE. По умолчанию программами CGIнаследуются все переменные среды. Директивой DisInheritEnv можно исключитьотдельные переменные из списка наследуемых.
Форма Переменные среды находится в подразделе CGI раздела Конфигурацииформ настройки и управления.
DisInheritEnv – Переменные среды, не наследуемые программами CGIДанная директива задает переменные среды, которые не должны наследоватьсяпрограммами CGI. Это позволяет передавать программе CGI только тепеременные среды, которые она использует.
Если не указана директива InheritEnv, программами CGI наследуются всепеременные среды. Если указана хотя бы одна директива InheritEnv,программами CGI наследуются только переменные среды, указанные вдирективах InheritEnv. Для того чтобы задать значения наследуемых переменных,можно указать параметр директивы в формате ПЕРЕМЕННАЯ=ЗНАЧЕНИЕ. Поумолчанию программы CGI наследуют все переменные среды. ДирективойDisInheritEnv можно исключить отдельные переменные из списка наследуемых.
Список переменных среды CGI приведен в книге IBM HTTP Server Web Program–ming Guide, GC41–5435.
Пример
DisInheritEnv PATH
DisInheritEnv LANG
26 Руководство администратора IBM HTTP Server для AS/400 V4R4
В этом примере программами CGI наследуются все переменные среды, кромеPATH и LANG.
Данная директива применяется следующими формами:
¹ Переменные среды
InheritEnv – Переменные среды, наследуемые программами CGIДанная директива задает переменные среды, которые должны наследоватьсяпрограммами CGI. Это позволяет передавать программе CGI только тепеременные среды, которые она использует.
Если не указана директива InheritEnv, программами CGI наследуются всепеременные среды. Если указана хотя бы одна директива InheritEnv,программами CGI наследуются только переменные среды, указанные вдирективах InheritEnv. Для того чтобы задать значения наследуемых переменных,можно указать параметр директивы в формате ПЕРЕМЕННАЯ=ЗНАЧЕНИЕ. Поумолчанию программы CGI наследуют все переменные среды. ДирективойDisInheritEnv можно исключить отдельные переменные из списка наследуемых.
Список переменных среды CGI приведен в книге IBM HTTP Server Web Program–ming Guide, GC41–5435.
Пример
InheritEnv PATH
InheritEnv LANG=RURU
В этом примере программами CGI наследуются только переменные PATH иLANG. Переменной LANG при этом будет присвоено значение RURU.
Данная директива применяется следующей формой:
¹ Переменные среды
Постоянный CGI – Задать параметры работы с постоянными программамиCGI
Постоянный CGI предназначен для поддержки сеансов между программой CGI,Web–сервером и клиентом.
Полученные от клиента запросы сервер передает ожидающей программе CGI.Это позволяет программе CGI в промежутке между запросами хранитьопределенную информацию, держать открытыми файлы и управлять транзакциямибазы данных. Программы CGI могут находиться в активном состоянии достаточнопродолжительное время; вы можете управлять ими с помощью директив,перечисленных в этом разделе.
Эти директивы можно изменить с помощью формы Постоянный CGI. ФормаПостоянный CGI находится в подразделе CGI раздела Конфигурации формнастройки и управления.
Директивы файла конфигурации сервера 27
Дополнительная информация о программах постоянного CGI приведена в книгеIBM HTTP Server Web Programming Guide, GC41–5435.
MaxPersistentCGI – Максимальное число заданий постоянного CGIДанная директива задает максимальное количество заданий постоянного CGI,которые могут быть активными одновременно. Допустимы значения от 1 до 999.Значение по умолчанию – 40.
Пример
MaxPersistentCGI 64
Значение по умолчанию
MaxPersistentCGI 40
Данная директива применяется следующей формой:
¹ Постоянный CGI
MaxPersistentCGITimeout – Максимальный тайм–аут для заданийпостоянного CGI
Данная директива задает максимальный тайм–аут для заданий постоянного CGI.Допустимы любые значения больше 1 секунды. Значение по умолчанию равно 20минутам.
Пример
MaxPersistentCGITimeout 15 minutes
Значение по умолчанию
MaxPersistentCGITimeout 20 minutes
Данная директива применяется следующей формой:
¹ Постоянный CGI
PersistentCGITimeout – Тайм–аут по умолчанию для заданий постоянногоCGI
Данная директива определяет тайм–аут по умолчанию для заданий постоянногоCGI. Допустимы любые значения больше 1 секунды. Значение по умолчаниюравно 20 минутам.
Эта директива задает максимальное время ожидания ответа от клиента передзавершением сеанса постоянного CGI. Программа CGI может переопределитьуказанное здесь значение для конкретного запроса.
Пример
PersistentCGITimeout 30 minutes
Значение по умолчанию
28 Руководство администратора IBM HTTP Server для AS/400 V4R4
PersistentCGITimeout 5 minutes
Данная директива применяется следующей формой:
¹ Постоянный CGI
Начальные страницыПо умолчанию, если сервер получает запрос без указания имени файла, он ищетфайл с начальной страницей. Если такого файла нет в указанном каталоге, новключена директива DirAccess, сервер показывает содержимое этого каталога.Параметры списков содержимого каталогов задаются в конфигурации сервера.
Имя файла с начальной страницей может зависеть от интерфейса, по которомуполучен запрос. Начальные страницы передаются в ответ на запросы, в которыхне указано имя файла. Параметры работы с начальными страницами задаютсяформой Начальные страницы. Форма Начальные страницы находится вподразделе Каталоги и начальные страницы раздела Конфигурации формнастройки и управления.
AlwaysWelcome – Всегда возвращать файл с начальной страницей, если неуказано имя файла
Данная директива указывает серверу, следует ли всегда возвращать файлы сначальной страницей в ответах на запросы, в которых не указано имя файла.
Значение по умолчанию равно On. Оно означает, что сервер при получении такихзапросов всегда ищет в каталоге файл с начальной страницей. Список файлов, вкоторых могут находится начальные страницы, задается директивами Welcome.
Если указать в этой директиве значение Off, то действия сервера будут зависетьот последнего символа в запросе к файлу базы данных, папке QDLS или каталогуIFS системы AS/400. Если запрос к каталогу оканчивается косой чертой, сервербудет искать в каталоге файл с начальной страницей. В противном случае серверпопытается передать клиенту список содержимого каталога.
Если начальная страница не найдена, или директива AlwaysWelcome равна Off изапрос не оканчивается косой чертой, то передача списка содержимого каталогазависит от значения директивы DirAccess.
Пример
AlwaysWelcome Off
Значение по умолчанию
AlwaysWelcome On
Данная директива применяется следующей формой:
¹ Начальные страницы
Директивы файла конфигурации сервера 29
DirAccess – Управление списками содержимого каталоговДанная директива разрешает или запрещает серверу возвращать в ответ назапросы списки содержимого каталогов. Запросы на получение спискасодержимого каталога зависят от значения директив Welcome и AlwaysWelcome.
Значение по умолчанию равно Off. Оно означает, что сервер не возвращаетсписки содержимого каталогов. Для того чтобы разрешить получение спискасодержимого только для некоторых каталогов, укажите:
DirAccess Selective
Если указать в этой директиве значение On, сервер будет возвращать спискисодержимого для всех каталогов.
Если указано значение Selective, сервер будет возвращать списки содержимоготолько для тех каталогов, в которых есть файл с именем wwwbrws. Содержимоеэтого файла не имеет значения – сервер проверяет только его наличие. Дляфизического файла AS/400 должен существовать элемент, для каталога IFS –объект с указанным именем. Для файловых систем, различающих регистрсимволов (таких как /QOpenSys), имя wwwbrws должно быть указано строчнымисимволами.
Пример
DirAccess Off
Значение по умолчанию
DirAccess On
Данная директива применяется следующей формой:
¹ Начальные страницы
Welcome – Имена файлов с начальными страницамиДанная директива задает имя файла по умолчанию, передаваемого клиенту вответ на запрос без указания имени файла. В файле конфигурации может бытьуказано несколько таких директив.
Имя файла с начальной страницей может зависеть от интерфейса, по которомуполучен запрос. Начальные страницы передаются в ответ на запросы, в которыхне указано имя файла.
Например, файл с именем homeA.html может передаваться по умолчанию в ответна запросы, полученные по интерфейсу 9.4.6.128. В то же время, файл с именемhomeB.html может передаваться по умолчанию только в ответ на запросы,полученные по интерфейсу 9.83.1.191.
Для запросов, в которых указано имя каталога, но не указано имя файла,действия сервера зависят от значения директивы AlwaysWelcome. По умолчаниюдирективе AlwaysWelcome присвоено значение On. При этом сервер всегда ищет в
30 Руководство администратора IBM HTTP Server для AS/400 V4R4
каталоге файл с именем, указанным в директиве Welcome. Если такой файлсуществует, он возвращается клиенту.
Если указано несколько директив Welcome, в каталоге может существоватьнесколько файлов, имена которых соответствуют директивам. В этом случаесервер выбирает файл, директива которого указана ближе всего к началу файлаконфигурации.
Регистр символов в параметре директивы Welcome не учитывается. Для файловыхсистем, различающих регистр символов (например, /QOpenSys), возвращаетсяпервый найденный файл. Например, если указана директива Welcome welcome.html,и в файловой системе /QOpenSys есть файлы welcome.html и Welcome.html,сервер может вернуть любой из этих файлов.
Если начальная страница не найдена, передача списка содержимого каталогазависит от значения директивы DirAccess.
Формат этой директивы следующий:
Welcome имя–файла [шаблон–IP–адреса]
имя–файлаИмя файла с начальной страницей.
шаблон–IP–адресаЕсли Web–сервер подключен к нескольким интерфейсам, этот параметрпозволяет указать шаблон IP–адресов этих интерфейсов. Перед директивой сшаблоном IP–адреса не должна стоять другая директива Welcome без такогошаблона, иначе указанный шаблон не будет действовать.
Сервер применяет каждую директиву только к запросам, приходящим поуказанным интерфейсам. Учтите, что в директиве должен быть указан шаблондля адреса интерфейса, по которому получен шаблон, а не для адресаклиента, который его отправил.
Вы можете указать полный IP–адрес интерфейса (например, 204.146.167.72).
Этот параметр необязательный. Без указания шаблона IP–адреса сервербудет применять директиву ко всем запросам, независимо от интерфейса, покоторому они получены.
Пример
Welcome letsgo.html
Welcome Welcome.html
В этом примере определены две начальных страницы. Предположим, чтодирективе AlwaysWelcome присвоено значение On. При получении запроса, вкотором не указано имя файла, сервер будет искать в указанном (или вкорневом) каталоге файл с начальной страницей. Сначала выполняется поискфайла letsgo.html. Если в каталоге нет файла letsgo.html, сервер ищет файлWelcome.html.
Директивы файла конфигурации сервера 31
Welcome CustomerA.html 204.146.167.72
Welcome CustomerB.html 1.11.222.3
В этом примере указан необязательный параметр шаблона IP–адреса. Взависимости от IP–адреса интерфейса, по которому получен запрос, сервер ищетразличные файлы с начальными страницами. Для запросов, полученных поинтерфейсу 204.146.167.72, сервер возвращает файл с именем CustomerA.html.Для запросов, полученных по интерфейсу 1.11.222.3, сервер возвращает файл сименем CustomerB.html. При получении запроса по интерфейсу, не указанному нив одной из директив Welcome, сервер возвращает начальную страницу поумолчанию.
Начальное значение
Welcome Welcome.html
Данная директива применяется следующей формой:
¹ Начальные страницы
Списки содержимого каталоговСписок содержимого каталога – это страница с информацией о содержимомзаданного каталога. Информация о каждом подкаталоге и файле показана наотдельной строке. Параметры списков содержимого каталогов управляютсяформой Списки содержимого каталогов. Форма Списки содержимого каталоговнаходится в подразделе Каталоги и начальные страницы разделаКонфигурации форм настройки и управления.
DirShowBytes – Показывать размер небольших файлов в байтахДанная директива управляет форматом представления размера небольших(меньше 1 Кб) файлов при создании списка содержимого каталога.Представлением размера файлов управляет директива DirShowSize.
Если указано Off, в списках содержимого каталогов для всех файлов, размеркоторых меньше 1 Кб, будет показано значение 1 Кб. Если указано On, для такихфайлов будет показан точный размер в байтах.
Пример
DirShowBytes On
Значение по умолчанию
DirShowBytes Off
Данная директива применяется следующей формой:
¹ Списки содержимого каталогов
32 Руководство администратора IBM HTTP Server для AS/400 V4R4
DirShowCase – Сортировать файлы с учетом регистра символовДанная директива управляет регистром символов при сортировке имен файлов всписках содержимого каталогов.
Если указано On, символы верхнего регистра будут показаны до символовнижнего регистра.
Пример
DirShowCase Off
Значение по умолчанию
DirShowCase On
Данная директива применяется следующей формой:
¹ Списки содержимого каталогов
DirShowDate – Показывать дату последнего измененияДанная директива управляет форматом представления даты последнегоизменения файлов в списках содержимого каталогов.
Пример
DirShowDate Off
Значение по умолчанию
DirShowDate On
Данная директива применяется следующей формой:
¹ Списки содержимого каталогов
DirShowDescription – Показывать описания файловДанная директива управляет форматом описания файлов в списках содержимогокаталогов.
Для исходных физических файлов описание – это либо связанный с каждымэлементом текст описания, который можно просмотреть командой WRKMBRPDM,либо значение, указанное в теге <title> файла HTML, если в описании элементауказано пустое значение.
Описания файлов IFS можно просмотреть командой WRKLNK.
Пример
DirShowDescription Off
Значение по умолчанию
DirShowDescription On
Директивы файла конфигурации сервера 33
Данная директива применяется следующей формой:
¹ Списки содержимого каталогов
DirShowMaxDescrLength – Максимальная длина описанияДанная директива задает максимальное число символов описания, которое будетпоказано в списке содержимого каталога.
Пример
DirShowMaxDescrLength 30
Значение по умолчанию
DirShowMaxDescrLength 25
Примечание: По умолчанию может быть показано 24 символа описания и одинпробел, что в сумме составляет 25 символов.
Данная директива применяется следующей формой:
¹ Списки содержимого каталогов
DirShowMaxLength – Максимальная длина имени файлаДанная директива задает максимальное число символов имени файла, котороебудет показано в списке содержимого каталога.
Пример
DirShowMaxLength 30
Значение по умолчанию
DirShowMaxLength 32
Данная директива применяется следующей формой:
¹ Списки содержимого каталогов
DirShowMinLength – Минимальная длина имени файлаДанная директива задает минимальное число символов, которое всегда будетзарезервировано под имя файла в списке содержимого каталога. Если размеримен всех файлов каталога меньше указанного, поле имени файла будетрасширено до величины, указанной в данной директиве.
Пример
DirShowMinLength 120
Значение по умолчанию
DirShowMinLength 15
Данная директива применяется следующей формой:
34 Руководство администратора IBM HTTP Server для AS/400 V4R4
¹ Списки содержимого каталогов
DirShowOwner – Показывать владельцев файловДанная директива управляет форматом просмотра имени владельца файлов всписках содержимого каталогов.
Пример
DirShowOwner On
Значение по умолчанию
DirShowOwner Off
Данная директива применяется следующей формой:
¹ Списки содержимого каталогов
DirShowSize – Показывать размер файловДанная директива управляет выводом размера файлов в списках содержимогокаталогов.
Пример
DirShowSize Off
Значение по умолчанию
DirShowSize On
Данная директива применяется следующей формой:
¹ Списки содержимого каталогов
Значки содержимого каталоговВид списков содержимого каталогов можно изменить с помощью формы Значкисодержимого каталогов. Форма Значки содержимого каталогов находится вподразделе Каталоги и начальные страницы раздела Конфигурации формнастройки и управления.
AddBlankIcon – URL значка для выравнивания заголовкаДанная директива задает значок, применяемый для выравнивания заголовков всписках содержимого каталогов. Вы можете указать пустой или другой значок,который будет помещен перед заголовком списка содержимого каталога. Дляправильного выравнивания заголовка размер этого значка должен совпадать сразмером остальных значков содержимого каталогов.
Формат этой директивы следующий:
AddBlankIcon URL–значка альтернативный–текст
URL–значка
Директивы файла конфигурации сервера 35
Окончание URL значка. Для образования полного URL сервер добавит этоокончание к значению директивы IconPath. Если полученный URL будет указыватьна локальный файл, сервер применит к нему все директивы маршрутизации. Дляпередачи значка клиенту директивы маршрутизации должны разрешать обработкутакого запроса.
Если сервер применяется в качестве Proxy, полный URL должен указывать наэтот сервер.
альтернативный–текст
Альтернативный текст, который может быть показан браузером клиента вместоизображения.
Пример
AddBlankIcon logo.gif logo
Значение по умолчанию
AddBlankIcon blank.gif
В значении по умолчанию указан пустой значок и пустой альтернативный текст.
Данная директива применяется следующей формой:
¹ Значки содержимого каталогов
AddDirIcon – URL значка для каталоговДанная директива задает значок, который будет показан рядом с именамиподкаталогов в списках содержимого каталогов.
Формат этой директивы следующий:
AddDirIcon URL–значка альтернативный–текст
URL–значка
Окончание URL значка. Для образования полного URL сервер добавит этоокончание к значению директивы IconPath. Если полученный URL будет указыватьна локальный файл, сервер применит к нему все директивы маршрутизации. Дляпередачи значка клиенту директивы маршрутизации должны разрешать обработкутакого запроса.
Если сервер применяется в качестве Proxy, полный URL должен указывать наэтот сервер. Этот URL должен указывать на локальный файл, передача которогоне запрещена директивами маршрутизации.
альтернативный–текст
Альтернативный текст, который может быть показан браузером клиента вместоизображения.
Пример
36 Руководство администратора IBM HTTP Server для AS/400 V4R4
AddDirIcon dir.gif DIR
Значение по умолчанию
AddDirIcon dir.gif DIR
Данная директива применяется следующей формой:
¹ Значки содержимого каталогов
AddIcon – URL значка для типа/кодировки MIMEДанная директива задает значок для определенного типа и кодировки MIME.Сервер будет показывать эти значки радом с файлами соответствующих типов всписках содержимого каталогов.
Формат этой директивы следующий:
AddIcon URL–значка альтернативный–текст шаблон–типа
URL–значка
Окончание URL значка. Для образования полного URL сервер добавит этоокончание к значению директивы IconPath. Если полученный URL будет указыватьна локальный файл, сервер применит к нему все директивы маршрутизации. Дляпередачи значка клиенту директивы маршрутизации должны разрешать обработкутакого запроса.
Если сервер применяется в качестве Proxy, полный URL должен указывать наэтот сервер. Этот URL должен указывать на локальный файл, передача которогоне запрещена директивами маршрутизации.
альтернативный–текст
Альтернативный текст, который может быть показан браузером клиента вместоизображения.
шаблон–типа
Шаблон для типа и кодировки MIME. Шаблон для типа (Content–type) долженсодержать символ косой черты (/). Шаблон для кодировки (Encoding–type) недолжен содержать символа косой черты.
Пример
AddIcon video_file.gif MOV video/*
Данная директива применяется следующей формой:
¹ Значки содержимого каталогов
Директивы файла конфигурации сервера 37
AddParentIcon – URL значка для родительского каталогаДанная директива задает значок, который будет показан рядом с именемродительского каталога в списках содержимого каталогов.
Формат этой директивы следующий:
AddParentIcon URL–значка альтернативный–текст
URL–значка
Окончание URL значка. Для образования полного URL сервер добавит этоокончание к значению директивы IconPath. Если полученный URL будет указыватьна локальный файл, сервер применит к нему все директивы маршрутизации. Дляпередачи значка клиенту директивы маршрутизации должны разрешать обработкутакого запроса.
Если сервер применяется в качестве Proxy, полный URL должен указывать наэтот сервер. Этот URL должен указывать на локальный файл, передача которогоне запрещена директивами маршрутизации.
альтернативный–текст
Альтернативный текст, который может быть показан браузером клиента вместоизображения.
Пример
AddParentIcon parent.gif UP
Значение по умолчанию
AddParentIcon back.gif UP
Данная директива применяется следующей формой:
¹ Значки содержимого каталогов
AddUnknownIcon – URL значка для файлов неизвестного типаДанная директива задает значок, который будет показан рядом с именами файловнеизвестного типа в списках содержимого каталогов.
Формат этой директивы следующий:
AddUnknownIcon URL–значка альтернативный–текст
URL–значка
Окончание URL значка. Для образования полного URL сервер добавит этоокончание к значению директивы IconPath. Если полученный URL будет указыватьна локальный файл, сервер применит к нему все директивы маршрутизации. Дляпередачи значка клиенту директивы маршрутизации должны разрешать обработкутакого запроса.
38 Руководство администратора IBM HTTP Server для AS/400 V4R4
Если сервер применяется в качестве Proxy, полный URL должен указывать наэтот сервер. Этот URL должен указывать на локальный файл, передача которогоне запрещена директивами маршрутизации.
альтернативный–текст
Альтернативный текст, который может быть показан браузером клиента вместоизображения.
Пример
AddUnknownIcon whattheheck.gif huh
Значение по умолчанию
AddUnknownIcon unknown.gif ???
Данная директива применяется следующей формой:
¹ Значки содержимого каталогов
DirShowIcons – Показывать значкиДанная директива управляет выводом значков в списках содержимого каталогов.Значки могут графически показывать тип каждого файла. Значки, выбираемые дляразличных объектов в списках содержимого каталогов, задаются следующимидирективами:
¹ AddBlankIcon
¹ AddDirIcon
¹ AddIcon
¹ AddParentIcon
¹ AddUnknownIcon
Пример
DirShowIcons Off
Значение по умолчанию
DirShowIcons On
Данная директива применяется следующей формой:
¹ Значки содержимого каталогов
IconPath – Путь к значкамДанная директива задает базовую часть URL, к которой добавляется значениепараметра URL–значка следующих директив:
¹ AddBlankIcon
¹ AddDirIcon
Директивы файла конфигурации сервера 39
¹ AddIcon
¹ AddParentIcon
¹ AddUnknownIcon
Полный URL образуется добавлением параметра значка–URL к значениюдирективы IconPath. Этот URL может указывать на файл вашего или другогосервера.
Значение пути к значкам по умолчанию следующее:
/QIBM/ProdData/HTTP/Protect/HTTPSVR/HTML/ICONS
Примечания:
1. Для того чтобы разрешить обработку запросов к значкам добавьте вконфигурацию директиву Pass с параметром/QIBM/ProdData/HTTP/Protect/HTTPSVR/HTML/ICONS.
2. Данная директива должна быть указана в конфигурации до директив заданиязначков (таких как AddBlankIcon, AddDirIcon и пр.)
Пример
IconPath http://icons.are.us.com:8080/httpd–internal–icons/
В этом примере значки содержимого каталогов будут передаваться с сервераicons.are.us.com.
IconPath /icons/
В этом примере ко всем URL значков содержимого каталогов будет добавлятьсяпуть /icons/. К запросам на получение значков будут применяться все директивымаршрутизации, указанные в конфигурации сервера.
Данная директива применяется следующей формой:
¹ Значки содержимого каталогов
Файлы READMEПри создании списка содержимого каталога сервер ищет в указанном каталогефайл с именем README. Обычно в файлах README хранится краткое описаниесодержимого каталога. Параметры работы с файлами README управляютсяформой файлы README. Форма Файлы README находится в подразделеКаталоги и начальные страницы раздела Конфигурации форм настройки иуправления.
DirReadme – Файлы README в списках содержимого каталоговДанная директива управляет выводом файлов README в списках содержимогокаталогов.
40 Руководство администратора IBM HTTP Server для AS/400 V4R4
Значение по умолчанию равно Top, что означает, что сервер ищет в каталоге файлс именем README. Если такой файл существует, сервер помещает его в началосписка содержимого каталога.
Если указано значение Bottom, сервер ищет файл README и помещает его вконец списка содержимого каталога.
Если указано значение On, сервер помещает файл README в начало спискасодержимого каталога. Для файловых систем, различающих регистр символов(таких как /QOpenSys), имя README должно быть указано прописнымисимволами.
Пример
DirReadme Bottom
DirReadme off
Значение по умолчанию
DirReadme Top
Данная директива применяется следующей формой:
¹ Файлы README
Пользовательские каталогиПользовательские каталоги – это каталоги системы AS/400, в которых отдельныепользователи Internet могут размещать и публиковать свои документы.Параметры работы сервера с пользовательскими каталогами управляютсяформой Пользовательские каталоги. Форма Пользовательские каталоги находитсяв подразделе Каталоги и начальные страницы раздела Конфигурации формнастройки и управления.
UserDir – Имя доступного подкаталога каталогов пользователей, в которыйони могут помещать собственные документы Web
Данная директива задает каталог, в котором пользователи Internet могутпубликовать собственный документы Web. Этот подкаталог должен находиться вдомашнем каталоге пользователя. Когда сервер получает запрос, URL котороговключает /~Имя_пользователя/, он обращается за объектом в подкаталог UserDirдомашнего каталога этого пользователя.
Домашний каталог каждого пользователя задается параметром HOMEDIRкоманды Создать пользовательский профайл (CRTUSRPRF) языка CL.
Например, пусть в данной директиве указано значение WWW. Предположим, чтосервер получил запрос с URL http://yourserver/~fonbuk/, а значение HOMEDIRпользовательского профайла fonbuk равно /USERDIR/FONBUK. В этом случае серверпередаст клиенту начальную страницу, найденную в каталоге/USERDIR/FONBUK/WWW/.
Директивы файла конфигурации сервера 41
Настройка сообщений об ошибках
Пользовательские каталоги могут находится в файловой системе QSYS.LIB.Предположим, что в директиве UserDir указано значение WWW.FILE. Пустьзначение HOMEDIR пользовательского профайла dirtykid равно/QSYS.LIB/DIRTYKID.LIB. При получении запроса с URLhttp://yourserver/~dirtykid сервер вернет начальную страницу из каталога/QSYS.LIB/DIRTYKID.LIB/WWW.FILE/ IFS.
Перед тем, как разрешить пользователям публиковать на вашем Web–сервересобственные документы, учтите соображения конфиденциальности информации иобраза вашей фирмы. Например, пользователь может случайно (или намеренно)поместить в каталог UserDir конфиденциальную информацию. Другойпользователь может поместить на свою страницу ссылку на другой Web–сайт, такчто он будет восприниматься как часть вашего сайта.
Пример
UserDir WWW
Данная директива применяется следующей формой:
¹ Пользовательские каталоги
Настройка сообщений об ошибкахС помощью следующей директивы вы можете изменить сообщения,отправляемые при обнаружении ошибок. Например, вы можете включить всообщение подробную информацию о причине возникновения неполадки ипредложить возможные способы ее устранения. Пользователям внутренних сетейвы можете предложить в случае возникновения неполадки связаться сопределенным человеком.
С каждым кодом ошибки связано свое ключевое слово файла конфигурации. Приизменении сообщений об ошибках обязательно просмотрите список причин исообщений об ошибках по умолчанию. Для изменения определенного сообщенияоб ошибке:
¹ Создайте собственный файл HTML с сообщением об ошибке.
¹ Добавьте в файл конфигурации директиву ErrorPage, связывающую ключевоеслово причины ошибки с созданным файлом HTML.
Примечание: Сервер не обрабатывает включения других файлов в сообщенияоб ошибках.
ErrorPage – Изменить сообщение об ошибкеДанная директива задает имя файла, отправляемого сервером при обнаруженииуказанной ошибки.
Эта директива может быть указана в любом месте файла конфигурации. Кзапросу на получение указанного файла будут применены все директивымаршрутизации. Обработка этого запроса должна быть разрешена. Проще всего
42 Руководство администратора IBM HTTP Server для AS/400 V4R4
Настройка сообщений об ошибках
для этого добавить в файл конфигурации директиву Pass с соответствующимипараметрами.
Формат этой директивы следующий:
ErrorPage ключевое–слово /путь/имя–файла.html
ключевое–словоОдно их ключевых слов, связанных с определенным кодом ошибки.Список ключевых слов приведен в “Причины и сообщения обошибках.”
/путь/имя–файла.htmlПуть и имя файла с сообщением об ошибке, который будет переданклиенту. Этот должен быть файл в формате HTML. Заданный URLможет указывать на файл вашего или любого другого сервера.
Примеры
ErrorPage badrequest /errors/html/badrequest.html
ErrorPage scriptstart http://goodserver/errors/html/scriptstart.html
В первом примере при обнаружении ошибки badrequest (неправильный запрос)сервер возвращает клиенту файл badrequest.html.
Во втором примере, при обнаружении ошибки scriptstart (ошибка запускасценария) клиенту будет передан файл scriptstart.html сервера goodserver.
Последний файл может содержать, например, следующий текст в формате HTML:
<HTML><HEAD><TITLE>Сообщение об ошибке SCRIPTSTART</TITLE>
</HEAD><BODY>
Невозможно запустить программу CGI.
<P>
Обратитесь к
<A HREF="mailto:[email protected]">администратору Web–сервера</A>.
</BODY></HTML>
Если конфигурация сервера включает директиву PASS /* /wwwhome/*, полнымпутем к этому файлу будет /wwwhome/errors/html/scriptstart.html.
Значение по умолчанию
Если для какой–либо ошибки не указана директива ErrorPage, при обнаруженииэтой ошибки сервер отправит клиенту сообщение об ошибке по умолчанию.
Причины и сообщения об ошибкахВ следующем списке для каждой ошибки приведен код состояния протоколаHTTP, ключевое слово конфигурации сервера IBM HTTP Server, возможнаяпричина и сообщение сервера по умолчанию.
Директивы файла конфигурации сервера 43
Настройка сообщений об ошибках
Полный список кодов состояния HTTP приведен в разделе “Коды состояния HTTP”на стр. 265.
Код Причина и сообщение по умолчанию
302 okredirectПричина: Запрошенный файл находится на другом сервере. Этотсервер обнаружен. Клиенту, отправившему запрос, вместе ссообщением передается имя сервера. Браузер клиента можетустановить соединение с этим сервером или показать полученноесообщение.
Сообщение по умолчанию: Обнаружен.
400 badrequestПричина: Обнаружена неполадка сети (например, тайм–аут) илиполучен неизвестный запрос.
Сообщение по умолчанию: Недопустимый запрос – анализ запросазавершился неудачно.
400 badscriptПричина: Обработка запроса сценарием CGI завершилась неудачно.
Сообщение по умолчанию: Ошибка выполнения сценария.
400 connectfailПричина: Сервер не смог установить туннельное соединение суказанным хостом через указанный порт.
Сообщение по умолчанию: Хост не найден или не отвечает.
400 nopartnerПричина: Сервер не смог установить туннельное соединение суказанным хостом; хост не существует.
Сообщение по умолчанию: Хост не найден или не отвечает.
400 proxyfailПричина: Попытка клиента использовать сервер в качестве Proxyзавершилась неудачно, хотя работа в режиме Proxy разрешена.Возможно, целевой сервер не существует или не отвечает.
Сообщение по умолчанию: Ошибка обращения через Proxy.
400 unknownmethodПричина: Запрос неизвестного метода.
Сообщение об ошибке: Недопустимый запрос.
401 notauthorizedПричина: Необходимо указание имени и пароля пользователя. Имя ипароль пользователя в запросе указаны неверно или не указаны.
Сообщение по умолчанию: Нет прав доступа. Идентификациязавершилась неудачно.
44 Руководство администратора IBM HTTP Server для AS/400 V4R4
Настройка сообщений об ошибках
401 notmemberПричина: Указанное клиентом имя не входит в список пользователей,которым разрешен доступ к запрошенному файлу.
Сообщение по умолчанию: Нет прав доступа к указанному документу.
401 pwchangedПричина: Пароль, связанный с именем пользователя, изменен.Укажите новый пароль еще раз, чтобы изменить информацию в кэшепаролей вашего браузера.
Сообщение по умолчанию: Пароль изменен. Для продолжения введитеновый–пароль.
401 pwexpiredПричина: Истек срок действия пароля, связанного с именемпользователя MVS.
Сообщение по умолчанию: Доступ запрещен – истек срок действияпароля. Для изменения пароля введитестарый–пароль/новый–пароль/новый–пароль.
403 badredirectПричина: Перенаправление запроса завершилось неудачно; директиваRedirect указывает на несуществующий документ или образует цикл.
Сообщение по умолчанию: Недопустимое перенаправление в файлеконфигурации.
403 baduserПричина: Запрошенный пользовательский каталог не существует.
Сообщение по умолчанию: Недопустимый пользовательский каталог.
403 byruleПричина: Доступ к запрошенному файлу явно запрещен директивойFail или не разрешен ни одной из директив маршрутизации запросов.
Сообщение по умолчанию: Запрещено правилом.
403 dirbrowseПричина: Каталог, указанный в запросе без имени файла, не содержитначальной страницы; вывод списка содержимого для этого или всехкаталогов отключен.
Сообщение по умолчанию: Просмотр каталога завершился неудачно –доступ запрещен.
403 dotdotПричина: Запрос клиента содержит инструкцию (/../), ссылающуюся народительский каталог корневого каталога документов Web–сервера.
Сообщение по умолчанию: Запрещено – URL содержит .. (ссылку народительский каталог).
Директивы файла конфигурации сервера 45
Настройка сообщений об ошибках
403 ipmaskПричина: IP–адрес клиента не входит в список адресов, для которыхразрешен доступ к запрошенному файлу.
Сообщение по умолчанию: Доступ к серверу с данного IP–адресазапрещен.
403 ipmaskproxyCause: Попытка использовать сервер в качестве Proxy завершиласьнеудачно, поскольку хост клиента не входит в список имен иIP–адресов хостов, для которых это разрешено.
Сообщение по умолчанию: Доступ к Proxy (указанным методом HTTP)с данного IP–адреса запрещен.
403 methoddisabledПричина: Запрошенный метод (например, GET или POST) явнозапрещен директивой Disable.
Сообщение по умолчанию: Метод метод запрещен.
403 noaclПричина: Для каталога указано правило защиты, но не задан Списокуправления доступом (ACL) и в конфигурации защиты отсутствуетподдиректива GetMask. Администратор должен либо удалить правилозащиты, либо добавить ACL.
Сообщение по умолчанию: Доступ к файлу запрещен ‘отсутствует ACL’.
403 noentryПричина: Пользователь не указан в Списке управления доступом(ACL), которым защищен каталог.
Сообщение по умолчанию: Доступ к файлу запрещен (отсутствуетзапись в ACL).
403 notallowedПричина: Запрошенный файл существует, но доступ к нему запрещенконфигурацией защиты сервера. Обычно эта ошибка возникает дляURL, требующих выполнения программ CGI.
Сообщение по умолчанию: В конфигурации защиты сервера должныбыть указаны методы PUT и DELETE.
403 openfailedПричина: Доступ к файлу разрешен правилами сервера, но запрещеноперационной системой. Возможно, у пользовательского профайла, вкотором выполняется сервер, нет прав доступа на чтение этого файла,либо произошла ошибка файловой системы.
Сообщение по умолчанию: Невозможно считать запрошенный файл.
403 setuperrorПричина: Для каталога задан Список управления доступом (ACL), ноне указано правило защиты. Администратор должен либо добавитьправило защиты, либо удалить ACL.
46 Руководство администратора IBM HTTP Server для AS/400 V4R4
Настройка сообщений об ошибках
Сообщение по умолчанию: В конфигурации защиты сервераобнаружена ошибка. Возможно, файл конфигурации защиты не найденили содержит синтаксическую ошибку.
404 multifailПричина: Сервер не может найти указанный файл. Файл не найден нис указанным именем, ни с каким–либо из известных серверурасширений.
Сообщение по умолчанию: Файл не найден, даже после поиска совсеми известными расширениями.
407 proxynotauthПричина: Для запроса к Proxy необходимо указать имя и парольпользователя. Имя и пароль пользователя в запросе указаны неверноили не указаны. Учтите, что некоторые Web–браузеры неподдерживают функцию PROXY–AUTHENTICATE (идентификация насервере Proxy).
Сообщение по умолчанию: Нет прав доступа. Идентификация насервере Proxy завершилась неудачно (либо ваш браузер ее неподдерживает).
407 proxynotmemberПричина: Указанное клиентом имя не входит в список пользователей,которым разрешен доступ к Proxy.
Сообщение по умолчанию: Нет прав для доступа через сервер Proxy.
407 proxypwchangedПричина: Пароль, связанный с именем пользователя на сервере Proxy,изменен. Укажите новый пароль еще раз, чтобы изменитьинформацию, хранящуюся в кэше паролей вашего браузера.
Сообщение по умолчанию: Пароль изменен. Для продолжения введитеновый–пароль.
407 proxypwexpiredПричина: Истек срок действия пароля, связанного с именемпользователя MVS на сервере Proxy.
Сообщение по умолчанию: Доступ запрещен – истек срок действияпароля. Для изменения пароля введитестарый–пароль/новый–пароль/новый–пароль.
412 preconfailПричина: Не выполнены дополнительные условия, указанные клиентомв запросе. Например, HTTP версии 1.1 допускает запросы сусловиями типа "if–not–modified–since xxx" – если файл не изменялся суказанной даты.
Сообщение по умолчанию: Не выполнено дополнительное условие –теги документа не соответствуют запрошенным.
Директивы файла конфигурации сервера 47
Настройка сообщений об ошибках
416 badrangeПричина: Диапазон содержимого в запросе с методом PUT указаннеправильно или не соответствует передаваемому файлу. Например,смещение начала содержимого может превышать размер файла.
Примечание: Если заголовок не удалось проанализировать,возвращается ошибка HTTP с кодом 501.
Сообщение по умолчанию: В запросе указан недопустимый диапазонсодержимого.
500 setupsurrogateПричина: В файле конфигурации определен заменитель ИДпользователя, но у сервера нет разрешения на применение этого ИД вкачестве заменителя.
Сообщение по умолчанию: Доступ запрещен – ошибка конфигурациизаменителя.
500 scriptioПричина: Сценарий CGI, запрошенный клиентом, был запущен, носерверу не удалось принять от него информацию. Возможно,программа сценария содержит ошибку.
Сообщение по умолчанию: Невозможно чтение вывода сценария.
500 scriptnotfoundПричина: Запрошенный клиентом сценарий CGI не найден.
Сообщение об ошибке по умолчанию: Недопустимый запрос ксценарию: ни <программа>, ни <программа>.pp не содержитисполняемой программы.
500 scriptstartПричина: Не удалось запустить сценарий CGI, запрошенный клиентом.Возможно, программа сценария содержит ошибку.
Сообщение по умолчанию: Запуск программы CGI завершилсянеудачно. Установить соединение с программой CGI не удалось.
500 systemerrorПричина: При работе со службами SAF обнаружена внутренняяошибка MVS. См. информацию об ошибках в таблице трассировки.
Сообщение по умолчанию: Доступ запрещен – при работе с SAFпроизошла системная ошибка.
501 noformatПричина: Анализ формата передаваемого файла завершилсянеудачно; обнаружена внутренняя ошибка сервера. Возможно, файлповрежден или содержит неправильное расширение.
Сообщение по умолчанию: Не удалось преобразовать файл изформата Тип–MIME–1 в формат Тип–MIME–2.
48 Руководство администратора IBM HTTP Server для AS/400 V4R4
Языки и кодировки
Сервлеты JavaФорма Сервлеты Java позволяет разрешить выполнение на сервере сервлетовJava. Форма Сервлеты Java находится в разделе Конфигурации форм настройкии управления. Для выполнения сервлетов Java на сервере IBM HTTP Serverдолжна быть установлена виртуальная машина Java.
Сервлеты Java – это программы Java, применяющие дополнительные APIJavaSoft. Сервлеты выполняются на сервере IBM HTTP Server и расширяютвозможности сервера так же, как аплеты – возможности браузера. Сервлетыпредоставляют дополнительные возможности по обработке запросов к ресурсамWeb.
Когда сервер получает запрос, он передает этот запрос сервлету. Затем сервлетформирует ответ, который сервер возвращает клиенту.
Более подробная информация о работе сервлетов Java с сервером IBM HTTPServer приведена на сайте http://www.software.ibm.com/webservers/.
Дополнительная информация о создании сервлетов Java приведена в книге IBMHTTP Server Web Programming Guide, GC41–5435.
Языки и кодировкиДирективы этого раздела позволяют связать мета–информацию заголовковфайлов с их расширениями. Мета–информация включает тип MIME, кодировку,язык и тип браузера. Сервер IBM HTTP Server позволяет задавать формат MIMEпередаваемого файла.
Передаваемый сервером файл определяется по следующей информации:
¹ Заголовки запроса от браузера
Браузер указывает в запросе допустимые заголовки, определяющиетребуемую мета–информацию документа; сервер связывает с этойинформацией определенные расширения файлов. Кроме того, браузеруказывает в запросе свой тип, который также может быть связан срасширениями файлов.
¹ Запрошенный URL
Сервер находит файлы со всеми возможными расширениями,соответствующие запрошенному URL, и выбирает из них наиболееподходящий для передачи клиенту.
MultiFormatProcessing – Выбор формата MIMEЕсли файл с именем, указанным в URL, не найден, функция выбора форматаMIME ищет в каталоге файл, наиболее соответствующий запросу. Поископтимального файла в большом каталоге может занять достаточно многовремени. Выбор формата MIME управляется директивами MultiFormatProcessing и
Директивы файла конфигурации сервера 49
Языки и кодировки
DirExcludeMulti. Эти директивы можно добавить в файл конфигурации командойWRKHTTPCFG.
Данная директива задает имена файлов, для которых выполняется выбор форматаMIME.
Формат
MultiFormatProcessing значение
значениеВозможные значения перечислены ниже:
all Выбор формата MIME выполняется для всех запросов.
multi Выбор формата MIME выполняется для запросов с именамифайлов без расширения или с расширением .multi.
none Выбор формата MIME не выполняется.
Значение по умолчанию
MultiFormatProcessing all
DirExcludeMulti – Запретить выбор формата MIME в каталогеДанная директива задает каталог, в котором не выполняется выбор форматаMIME. Директива DirExcludeMulti должна быть указана в файле конфигурациитолько один раз. Если указано несколько директив DirExcludeMulti, действуетпоследняя из них.
В этой директиве указывается шаблон для физического каталога. Обычно, путь,указанный в URL, для получения физического пути преобразуется директивамиMap. В этом случае шаблон, указанный в директиве DirExcludeMulti, долженсоответствовать физическому пути, указанному в директиве Map.
Если в директиве MultiFormatProcessing указано значение none, данная директиваигнорируется.
Пример
DirExcludeMulti /aaa/bbb/ccc
В этом примере выбор формата MIME не выполняется для запросов к файлам сименами /aaa/bbb/ccc/любое_имя_файла.
Пример
DirExcludeMulti /aaa/bbb*
В этом примере выбор формата MIME не выполняется для запросов к файлам сименами /aaa/bbb/ccc/любое_имя_файла и /aaa/bbbxxx/ccc/любое_имя_файла.
Пример
DirExcludeMulti /aaa/bbb/*
50 Руководство администратора IBM HTTP Server для AS/400 V4R4
Языки и кодировки
В этом примере выбор формата MIME не выполняется для запросов к файлам сименами /aaa/bbb/любое_имя_файла и /aaa/bbb/ccc/любое_имя_файла.
AddClient – Web–браузер, связанный с указанным расширениемДанная директива связывает файлы с указанным расширением с определеннымтипом и версией браузера клиента. Этот необходимо для автоматическогоопределения типа браузера.
Все запросы HTTP содержат заголовок User–Agent, в котором указан тип иверсия браузера, отправившего запрос. Сервер IBM HTTP Server поддерживаетавтоматическое определение типа браузера. На основании этой информациисервер может выбрать конкретную версию Web–страницы, наиболее подходящуюдля указанного браузера.
Например, сервер может передавать страницы в формате HTML 3.0 толькобраузерам, поддерживающим этот формат. Остальным браузерам сервер можетавтоматически передавать версию той же страницы в формате HTML 2.0.
Автоматическое определение типа браузера действует только для файлов, длякоторых включен выбор формата MIME. Для этого в URL запроса должен бытьуказан файл без расширения или с расширением .multi. Например, выборформата MIME будет выполнен для следующего файла:
<A HREF="http://www.raleigh.ibm.com/cjjd/tscores.multi>
При получении запроса к указанному файлу сервер проанализирует значениезаголовков запроса (включая заголовок User–Agent), все доступные файлы tscoresс различными расширениями и мета–информацию, связанную с этимирасширениями. На основании этих данных сервер выберет файл, наиболеесоответствующий запросу.
Эта директива может быть указана в файле конфигурации несколько раз.Последовательность директив AddClient важна, поскольку сервер обрабатываетих в том порядке, в котором они указаны. Расширение файла будет определятьсяпервой директивой AddClient, соответствующей запросу.
Дополнительная информация об этой директиве приведена в электронной справкек форме Автоматическое определение типа браузера. Форма Автоматическоеопределение типа браузера находится в подразделе Языки разделаКонфигурации форм настройки и управления.
Формат этой директивы следующий:
AddClient .расширение тип–браузера
.расширение
Расширение файла, который должен быть отправлен браузеру указанного типа.Этот параметр может включать любые символы подстановки (например, *). Кимени файла может быть добавлено несколько расширений, описывающих его
Директивы файла конфигурации сервера 51
Языки и кодировки
тип. Например, и файл TxtSample.UK.Mozilla.html, и файлTxtSample.html.Mozilla.eng включают расширение .Mozilla
тип–браузера
Шаблон для сравнения с заголовком User–Agent запроса. В этом полеучитывается регистр символов. Этот параметр может включать звездочку (*) вкачестве символа подстановки. Например, IBM* относится ко всем версиям Web–браузера IBM WebExplorer.
Примеры
AddClient .Mozilla Mozilla/2.*
AddClient .OldMozilla Mozilla/1.*
AddClient .Webex IBM*
Значение по умолчанию
Если значение заголовка User–Agent запроса не соответствует ни одной директивеAddClient, сервер ищет файл с одним только базовым расширением (.htm или.html). Если такого файла не существует, применяется алгоритм поискаоптимального файла. При этом сравнивается качество различных файлов(определенное по их расширениям) и выбирается файл с максимальнымкачеством.
Данная директива применяется следующей формой:
¹ Автоматическое определения типа браузера
Применение автоматического определения типа браузера дляоптимального выбора начальной страницыПрименение автоматического определения типа браузера для оптимальноговыбора начальной страницы требует дополнительных действий. Следующаяпроцедура описывает включение для начальной страницы автоматическогоопределения типа браузера и выбора формата MIME.
В этом примере сервер передает различные версии файла index.html (влогическом каталоге Webhome). Эта процедура работает также для файлов сименами Welcome.html, welcome.html и Frntpage.html.
1. Добавьте в конфигурацию директиву Welcome, в которой указано имя файла срасширением .multi:
Welcome index.multi
2. Добавьте в файл конфигурации директивы AddClient, задающие расширенияфайлов для браузеров различных типов. Учтите, что порядок директивAddClient существенен. Сервер обрабатывает их в том порядке, в которомони указаны в файле конфигурации.
AddClient .Mozilla Mozilla/2.*
AddClient .OldMozilla Mozilla/1.*
AddClient .Webex IBM*
52 Руководство администратора IBM HTTP Server для AS/400 V4R4
Языки и кодировки
3. Создайте для каждого браузера версию файла с соответствующимрасширением:
¹ index.Mozilla.html
¹ index.OldMozilla.html
¹ index.WebEx.html
4. Создайте в каталоге Webhome тестовый файл index.multi.
5. Укажите в URL, ссылающемся на эту страницу, только имя каталога, но неимя файла:
http://www.buh–nah.com/Webhome/
При обращении по этому URL сервер будет автоматически определятьприменяемый Web–браузер клиента и передавать соответствующий документ.
AddEncoding – Кодировка MIME файлов с указанным расширениемДанная директива связывает файлы с указанным расширением с определеннойкодировкой MIME.
Расширение MIME стандарта передачи почты в Internet определяет различныеспособы кодирования файлов. С каждой кодировкой MIME может быть связаноопределенное расширение файла. Эта информация хранится в списке расширенийфайлов. Сервер будет рассматривать любой файл, расширение которого есть всписке, как закодированный в соответствии с указанным способом кодированияMIME.
Дополнительная информация об этой директиве приведена в электронной справкек форме Кодировки MIME. Форма Кодировки MIME находится в подразделеЯзыки раздела Конфигурации форм настройки и управления.
Формат этой директивы следующий:
AddEncoding .расширение кодировка
.расширениеШаблон для расширений файлов.
кодировкаКодировка MIME, связанная с файлами с указанным расширением.
Пример
AddEncoding .qp quoted_printable
Данная директива применяется следующей формой:
¹ Кодировки MIME
Директивы файла конфигурации сервера 53
Языки и кодировки
AddLanguage – Язык файлов с указанным расширениемДанная директива связывает файлы с указанным расширением с определеннымязыком.
С каждым языком может быть связано определенное расширение файла. Этаинформация в списке расширений файлов. Любой файл, расширение которогоесть в списке, интерпретируется сервером как файл на соответствующем языке.
Под языком здесь понимается обычный язык общения людей (разговорный,письменный и пр.). Синтаксис и реестр поддерживаемых языков соответствуетдокументу RFC 1766. Идентификатор языка состоит из основного тега языка инеобязательных дополнительных тегов. Пространство имен тегов языковуправляется Комитетом по предоставлению адресов Internet (IANA).
Примеры тегов:
¹ ru
¹ en–US
¹ i–cherokee
В этих примерах основной тег – это двухбуквенная аббревиатура названия языкапо стандарту ISO 639. Двухбуквенный дополнительный тег – это код страны постандарту ISO 3166.
Дополнительная информация об этой директиве приведена в электронной справкек форме Языки. Форма Языки находится в подразделе Языки разделаКонфигурации форм настройки и управления.
Формат этой директивы следующий:
AddLanguage .расширение язык
.расширениеШаблон для расширений файла.
языкЯзык, связанный с файлами с указанным расширением.
Пример
AddLanguage .ru ru_RU
В этом примере файлы с расширением .ru связываются с русским языком.
AddLanguage .uk en_UK
В этом примере файлы с расширением .uk связываются с английским языком,принятым в Великобритании.
Данная директива применяется следующей формой:
¹ Языки
54 Руководство администратора IBM HTTP Server для AS/400 V4R4
Языки и кодировки
AddType – Тип MIME файлов с указанным расширениемДанная директива связывает файлы с указанным расширением с определеннымтипом/подтипом MIME.
Сервер может передавать клиентам файлы различных типов, описанных встандарте MIME. Вы можете создать список, задающий соответствие междурасширениями файлов и типами/подтипами MIME. Сервер будет рассматриватьлюбой файл, расширение которого есть в списке, как упакованный в соответствиис указанным типом/подтипом MIME.
Дополнительная информация об этой директиве приведена в электронной справкек форме Типы MIME. Форма Типы MIME находится в подразделе Языки разделаКонфигурации форм настройки и управления.
Формат этой директивы следующий:
AddType .расширение тип/подтип кодировка [качество]
.расширениеШаблон для расширений файла. Символ подстановки (*) допустим только вследующих специальных шаблонах:
*.* Все имена, включающие точку (.) и не соответствующие ни одномуиз обычных шаблонов.
* Все имена, не включающие точку (.) и не соответствующие ниодному из обычных шаблонов.
тип/подтипТип и подтип MIME, связанный с файлами с указанным расширением.
кодировкаКодировка MIME, в которую были преобразованы данные.
7bit Данные представлены в виде коротких (меньше 1000 символов)строк данных в формате US–ASCII. В эту категорию обычнопопадают исходный код и обычный текст. Исключение составляютфайлы, содержащие псевдографику и национальные символы.
8bit Данные представлены в виде коротких строк, но могут содержатьсимволы с установленным старшим разрядом (например,псевдографику и национальные символы). В эту категорию обычнопопадают файлы в формате PostScript и тексты с европейскихсайтов.
binary Эта кодировка может применяться для любых данных. Данныемогут содержать любые символы, образующие строки любойдлины. В эту категорию попадают все файлы типов image/*, audio/*,video/* и application/*.
Кодировки 7bit и 8bit не будут переданы в заголовках MIME.
Директивы файла конфигурации сервера 55
Языки и кодировки
качествоНеобязательный сравнительный индикатор качества содержимого (вдиапазоне от 0.0 до 1.0). Значение качества применяется для выбора одной изнескольких версий файла, соответствующих запросу. Сервер выбирает файл,для которого указано максимальное качество. Например, если запрошенфайл internet.ps и в директиве сервера указаны следующие директивыAddType:
AddType .ps application/postscript 8bit 1.0
AddType *.* application/binary binary 0.3
то сервер выберет строку с типом application/postscript, поскольку в нейуказано большее значение качества.
Пример
AddType .bin application/octet–stream binary 0.8
Данная директива применяется следующей формой:
¹ Типы MIME
Форматы и расширения файловВ следующей таблице перечислены форматы и соответствующие им расширенияфайлов:AddType .mime www/mime binary 1.0 # Внутренний
# не рекурсивный
AddType .bin application/octet–stream binary 1.0 # Неизвестный двоичный
AddType .class application/octet–stream binary 1.0 # Классы Java
AddType .oda application/oda binary 1.0
AddType .pdf application/pdf binary 1.0
AddType .ai application/postscript 8bit 0.5 # Adobe Illustrator
AddType .PS application/postscript 8bit 0.8 # PostScript
AddType .eps application/postscript 8bit 0.8
AddType .ps application/postscript 8bit 0.8
AddType .rtf application/x–rtf 7bit 1.0 # RTF
AddType .csh application/x–csh 7bit 0.5 # Сценарий C–shell
AddType .dvi application/x–dvi binary 1.0 # TeX DVI
AddType .hdf application/x–hdf binary 1.0 # Файл данных NCSA HDF
AddType .latex application/x–latex 8bit 1.0 # Документ LaTeX
AddType .nc application/x–netcdf binary 1.0 # Данные Unidata netCDF
AddType .cdf application/x–netcdf binary 1.0
AddType .sh application/x–sh 7bit 0.5 # Сценарий оболочки
AddType .tcl application/x–tcl 7bit 0.5 # Сценарий TCL
AddType .tex application/x–tex 8bit 1.0 # Документ TeX
AddType .texi application/x–texinfo 7bit 1.0 # Texinfo
AddType .texinfo application/x–texinfo 7bit 1.0
AddType .t application/x–troff 7bit 0.5 # Troff
AddType .roff application/x–troff 7bit 0.5
AddType .tr application/x–troff 7bit 0.5
AddType .man application/x–troff–man 7bit 0.5 # Troff с макросами man
AddType .me application/x–troff–me 7bit 0.5 # Troff с макросами me
AddType .ms application/x–troff–ms 7bit 0.5 # Troff с макросами ms
AddType .src application/x–wais–source 7bit 1.0 # Источник WAIS
AddType .bcpio application/x–bcpio binary 1.0 # Старый двоичный файл CPIO
AddType .cpio application/x–cpio binary 1.0 # POSIX CPIO
AddType .gtar application/x–gtar binary 1.0 # Gnu tar
AddType .shar application/x–shar 8bit 1.0 # Архив оболочки
AddType .sv4cpio application/x–sv4cpio binary 1.0 # SVR4 CPIO
AddType .sv4crc application/x–sv4crc binary 1.0 # SVR4 CPIO с CRC
56 Руководство администратора IBM HTTP Server для AS/400 V4R4
Языки и кодировки
#
# Ниже перечислены общие форматы CAE:
#
AddType .igs application/iges binary 1.0 # Графический формат IGES
AddType .iges application/iges binary 1.0 # Графический формат IGES
AddType .IGS application/iges binary 1.0 # Графический формат IGES
AddType .IGES application/iges binary 1.0 # Графический формат IGES
AddType .stp application/STEP 8bit 1.0 # ISO–10303 STEP –
AddType .STP application/STEP 8bit 1.0 # Файлы данных продукта
AddType .step application/STEP 8bit 1.0
AddType .STEP application/STEP 8bit 1.0
AddType .dxf application/dxf binary 1.0 # DXF (AUTODESK)
AddType .DXF application/dxf binary 1.0
AddType .vda application/vda binary 1.0 # Данные поверхности VDA–FS
AddType .VDA application/vda binary 1.0
AddType .set application/set 8bit 1.0 # SET (Французский CAD)
AddType .SET application/set 8bit 1.0
AddType .stl application/SLA 8bit 1.0 # Стереолитография
AddType .STL application/SLA 8bit 1.0
#
## Ниже перечислены фирменные форматы CAD,
## обычно применяемые институтами CERN и HEP:
#
AddType .dwg application/acad binary 1.0 # Рисунок Autocad
AddType .DWG application/acad binary 1.0
AddType .SOL application/solids binary 1.0 # MATRA Prelude solids
AddType .DRW application/drafting binary 1.0 # Prelude Drafting
AddType .prt application/pro_eng binary 1.0 # PTC Pro/ENGINEER
AddType .PRT application/pro_eng binary 1.0
AddType .unv application/i–deas binary 1.0 # Файл SDRC I–DEAS
AddType .UNV application/i–deas binary 1.0
AddType .CCAD application/clariscad binary 1.0 # Файл ClarisCAD
AddType .snd audio/basic binary 1.0 # Аудио файл
AddType .au audio/basic binary 1.0 # Аудио файл
AddType .aiff audio/x–aiff binary 1.0
AddType .aifc audio/x–aiff binary 1.0
AddType .aif audio/x–aiff binary 1.0
AddType .wav audio/x–wav binary 1.0 # Формат WAVE Windows
AddType .gif image/gif binary 1.0 # GIF
AddType .ief image/ief binary 1.0 # IEF
AddType .jpg image/jpeg binary 1.0 # JPEG
AddType .JPG image/jpeg binary 1.0
AddType .JPE image/jpeg binary 1.0
AddType .jpe image/jpeg binary 1.0
AddType .JPEG image/jpeg binary 1.0
AddType .jpeg image/jpeg binary 1.0
AddType .tif image/tiff binary 1.0 # TIFF
AddType .tiff image/tiff binary 1.0
AddType .ras image/cmu–raster binary 1.0
AddType .pnm image/x–portable–anymap binary 1.0 # PBM Anymap
AddType .pbm image/x–portable–bitmap binary 1.0 # PBM Bitmap
AddType .pgm image/x–portable–graymap binary 1.0 # PBM Graymap
AddType .ppm image/x–portable–pixmap binary 1.0 # PBM Pixmap
AddType .rgb image/x–rgb binary 1.0
AddType .xbm image/x–xbitmap 7bit 1.0 # X, bitmap
AddType .xpm image/x–xpixmap binary 1.0 # X, pixmap
AddType .xwd image/x–xwindowdump binary 1.0 # X, дамп окна (xwd)
AddType .html text/html 8bit 1.0 # HTML
AddType .htm text/html 8bit 1.0 # HTML на PC
AddType .htmls text/html 8bit 1.0 # Расширенные функции сервера
AddType .c text/plain 7bit 0.5 # C, исходный код
AddType .h text/plain 7bit 0.5 # C, файл заголовков
AddType .C text/plain 7bit 0.5 # C++, исходный код
AddType .cc text/plain 7bit 0.5 # C++, исходный код
AddType .cxx text/plain 7bit 0.5 # C++
Директивы файла конфигурации сервера 57
Языки и кодировки
AddType .com text/plain 7bit 0.5 # Сценарий
AddType .conf text/plain 7bit 0.5 # Файл определений
AddType .def text/plain 7bit 0.5 # Файл определений
AddType .hh text/plain 7bit 0.5 # C++, заголовки
AddType .m text/plain 7bit 0.5 # Objective–C, исходный код
AddType .f90 text/plain 7bit 0.5 # Fortran 90, исходный код
AddType .for text/plain 7bit 0.5 # Fortran
AddType .txt text/plain 7bit 0.5 # Обычный текст
AddType .rtx text/richtext 7bit 1.0 # MIME Richtext
AddType .tsv text/tab–separated–values 7bit 1.0 # Числа, разделенные табуляцией
AddType .etx text/x–setext 7bit 0.9 # Struct Enhanced Txt
AddType .list text/plain 7bit 0.5 # Список
AddType .lst text/plain 7bit 0.5 # Список
AddType .log text/plain 7bit 0.5 # Протокол
AddType .mar text/plain 7bit 0.5 # MACRO
AddType .MPG video/mpeg binary 1.0 # MPEG
AddType .sdml text/plain 7bit 0.5 # SDML
AddType .mpg video/mpeg binary 1.0
AddType .MPE video/mpeg binary 1.0
AddType .mpe video/mpeg binary 1.0
AddType .MPEG video/mpeg binary 1.0
AddType .mpeg video/mpeg binary 1.0
AddType .qt video/quicktime binary 1.0 # QuickTime
AddType .mov video/quicktime binary 1.0
AddType .avi video/x–msvideo binary 1.0 # MS Video for Windows
AddType .movie video/x–sgi–movie binary 1.0 # SGI movieplayer
AddType .gz x–gzip 1.0
AddType .Z x–compress 1.0 # Сжатые данные
AddType .zip multipart/x–zip binary 1.0 # Архив PKZIP
AddType .tar multipart/x–tar binary 1.0 # Архив 4.3BSD tar
AddType .ustar multipart/x–ustar binary 1.0 # Архив POSIX tar
AddType *.* www/unknown binary 0.2 # Неизвестные данные
AddType * www/unknown binary 0.2 # Неизвестные данные
AddType . text/plain 7bit 0.5 # Файл без расширения
SuffixCaseSense – Учитывать регистр в расширениях файловДанная директива управляет учетом регистра символов в расширениях файловпри сравнении с шаблонами, указанными в директивах AddType, AddEncoding иAddLanguage.
По умолчанию сервер не различает регистр в расширениях файлов. Учет регистравлияет на обработку запросов сервером.
Дополнительная информация об этой директиве приведена в электронной справкек форме Расширения файлов. Форма Расширения файлов находится в подразделеЯзыки раздела Конфигурации форм настройки и управления.
Пример
SuffixCaseSense On
Значение по умолчанию
SuffixCaseSense Off
Данная директива применяется следующей формой:
¹ Расширения файлов
58 Руководство администратора IBM HTTP Server для AS/400 V4R4
Серверы LDAPПростой протокол доступа к каталогам (LDAP) – это протокол службы каталогов,работающих поверх TCP/IP или SSL. Служба каталогов LDAP основана на моделиклиент–сервер. При этом данные хранятся на одном или нескольких серверахLDAP. Клиент LDAP (например, сервер IBM HTTP Server) устанавливает связь ссервером LDAP и передает ему запрос. Сервер LDAP выполняет поиск вкаталогах и возвращает клиенту результаты. Сервер LDAP (Служба каталоговAS/400) может находиться в той же системе AS/400, что и Web–сервер, или вдругой системе. Сервер IBM HTTP Server может обращаться к серверу LDAP дляполучения конфигурации или идентификации пользователей.
Дополнительная информация о серверах LDAP и службе каталогов системыAS/400 приведена в разделе Служба каталогов системы AS/400 (LDAP) AS/400Information Center.
LDAPInfo – Задать конфигурацию LDAPДиректива LDAPInfo задает информацию о серверах LDAP, необходимую дляхранения на них данных конфигурации и идентификации Web–сервера. Этадиректива должна быть указана перед директивами LDAPInclude иконфигурациями защиты, ссылающимися на определенную в ней конфигурацию.
Формат
LDAPInfo имя–метки {
поддиректива
поддиректива
.
.
.
}
имя–меткиИмя данной конфигурации LDAP. Это имя может быть указано в директивахLDAPInclude и Protection, следующих за данной директивой в файлеконфигурации.
поддирективаПоддиректива данной конфигурации LDAP. Последним символом на строке сдирективой LDAPInfo должна быть левая фигурная скобка. Каждаяподдиректива должна быть указана на отдельной строке. После последнейподдирективы на отдельной строке должна быть указана правая фигурнаяскобка. Комментарии между фигурными скобками не допускаются.
Пример
Директивы файла конфигурации сервера 59
LDAPInfo PrimaryLdapServer {
Host ldap.ibm.com
Transport TCP
ClientAuthType Basic
ServerAuthType Basic
ServerDN "cn=IBM HTTP Server, 0=IBM c=US"
ServerPasswordStashFile "StashFileName"
UserSearchBase "0=IBM c=US"
GroupSearchBase "0=IBM c=US"
}
Данная директива применяется следующими формами:
¹ Создать конфигурацию сервера LDAP
¹ Изменить конфигурацию сервера LDAP
¹ Удалить конфигурацию сервера LDAP
Поддирективы LDAPInfoНиже перечислены поддирективы задания конфигурации LDAP. Их можно разбитьна четыре группы: общие, тайм–аутов, соединения с сервером и соединения склиентом.
Общие поддирективыНиже перечислены общие поддирективы конфигурации LDAP.
Host – Имя хоста сервера LDAPДанная поддиректива задает имя хоста сервера LDAP.
Пример
Host ldap.mycompany.com
Эта поддиректива применяется следующими формами:
¹ Создать конфигурацию сервера LDAP
¹ Изменить конфигурацию сервера LDAP
Transport – Протокол для соединения с сервером LDAPДанная поддиректива задает протокол для соединения с сервером LDAP (TCP илиSSL).
Пример
Transport SSL
Эта поддиректива применяется следующими формами:
¹ Создать конфигурацию сервера LDAP
¹ Изменить конфигурацию сервера LDAP
60 Руководство администратора IBM HTTP Server для AS/400 V4R4
Port – Номер порта сервера LDAPДанная поддиректива задает номер порта сервера LDAP.
Пример
Port 636
Значение по умолчанию
Port 389
Эта поддиректива применяется следующими формами:
¹ Создать конфигурацию сервера LDAP
¹ Изменить конфигурацию сервера LDAP
Поддирективы тайм–аутовДля любого соединения существует вероятность потери связи с удаленнымсервером. Ниже перечислены поддирективы, управляющие тайм–аутамисоединения с сервером LDAP.
IdleConnTimeout – Тайм–аут простаивающего соединения LDAPДанная поддиректива задает тайм–аут простаивающего соединения с серверомLDAP.
Пример
IdleConnTimeout 15 minutes
Значение по умолчанию
IdleConnTimeout 10 minutes
Эта поддиректива применяется следующими формами:
¹ Создать конфигурацию сервера LDAP
¹ Изменить конфигурацию сервера LDAP
WaitToRetryConnTime – Время ожидания перед очереднойпопыткой установления соединения с сервером LDAPДанная поддиректива задает время ожидания перед повторной попыткойустановления соединения с сервером LDAP.
Пример
WaitToRetryConnTime 45 seconds
Значение по умолчанию
WaitToRetryConnTime 30 seconds
Эта поддиректива применяется следующими формами:
Директивы файла конфигурации сервера 61
¹ Создать конфигурацию сервера LDAP
¹ Изменить конфигурацию сервера LDAP
SearchTimeout – Максимальное время поиска LDAPДанная поддиректива задает максимальное время ожидания ответа на запрос кLDAP.
Пример
SearchTimeout 2 minutes
Значение по умолчанию
SearchTimeOut 10 seconds
Эта поддиректива применяется следующими формами:
¹ Создать конфигурацию сервера LDAP
¹ Изменить конфигурацию сервера LDAP
CacheTimeout – Время хранения данных LDAP в кэшеДанная поддиректива задает максимальное время хранения данных LDAP вкэше. Через указанное время серверу LDAP будет отправлен новый запрос.
Пример
CacheTimeout 5 minutes
Значение по умолчанию
CacheTimeout 10 minutes
Эта поддиректива применяется следующими формами:
¹ Создать конфигурацию сервера LDAP
¹ Изменить конфигурацию сервера LDAP
Поддирективы соединения с серверомПоддирективы этого раздела управляют созданием соединения с сервером LDAPдля получения информации идентификации.
ServAuthType – Тип идентификации на сервере LDAPДанная поддиректива задает тип идентификации сервера IBM HTTP Server насервере LDAP. Возможные значения:
¹ None – сервер LDAP поддерживает анонимный доступ.
¹ Basic – сервер IBM HTTP Server должен предоставить отличительное имя ипароль для идентификации. Отличительное имя задается в поддирективеServerAuthType, пароль – в файле пароля.
Пример
62 Руководство администратора IBM HTTP Server для AS/400 V4R4
ServerAuthType None
Эта поддиректива применяется следующими формами:
¹ Создать конфигурацию сервера LDAP
¹ Изменить конфигурацию сервера LDAP
ServerDN – Отличительное имя Web–сервераДанная поддиректива задает отличительное имя вашего Web–сервера. Это имяприменяется при идентификации на сервере LDAP, если в поддирективеServerAuthType указано значение Basic.
Пример
ServerDN MyLdapServer
Эта поддиректива применяется следующими формами:
¹ Создать конфигурацию сервера LDAP
¹ Изменить конфигурацию сервера LDAP
ServerPasswordStashFile – Файл пароля Web–сервераДанная поддиректива задает имя файла, в котором хранится зашифрованныйпароль доступа к серверу LDAP. Этот пароль применяется при идентификации насервере LDAP, если в поддирективе ServerAuthType указано значение Basic.
Пример
ServerPasswordStashFile /usr/lpp/internet_base/server/passwordfile
Эта поддиректива применяется следующими формами:
¹ Создать конфигурацию сервера LDAP
¹ Изменить конфигурацию сервера LDAP
Поддирективы соединения с клиентомПоддирективы этого раздела управляют созданием соединения LDAP с клиентом.
ClientAuthType – Тип идентификации клиентаДанная поддиректива задает для клиента идентификацию типа Basic. Клиентдолжен указать имя и пароль пользователя.
Пример
ClientAuthType Basic
Эта поддиректива применяется следующими формами:
¹ Создать конфигурацию сервера LDAP
¹ Изменить конфигурацию сервера LDAP
Директивы файла конфигурации сервера 63
UserSearchBase – Корневой каталог поиска пользователейДанная поддиректива задает корневой каталог для поиска имен пользователей насервере LDAP.
Пример
UserSearchBase "o=IBM, c=US"
Эта поддиректива применяется следующими формами:
¹ Создать конфигурацию сервера LDAP
¹ Изменить конфигурацию сервера LDAP
UserNameFilter – Фильтр поиска пользователейДанная поддиректива задает фильтр, применяемый для преобразования именпользователей, указанных пользователем, в фильтр поиска записи на сервереLDAP.
Например, если пользователь ввел "Pa Kel", строкой поиска будет "(cn=Pa* Kel*)".Однако, если будут найдены несколько записей, сервер IBM HTTP Server откажетпользователю в идентификации. Например, если сервер LDAP содержит записи(cn=Paul Kelsey) и (cn=Paula Kelly), то для строки поиска "(cn=Pa* Kel*)" будутнайдены обе записи, и идентификация завершится неудачно.
Значение по умолчанию
UserNameFilter "((objectclass=person)(cn=%v1* %v2*))"
%v1 и %v2 – это слова, введенные пользователем.
Эта поддиректива применяется следующими формами:
¹ Создать конфигурацию сервера LDAP
¹ Изменить конфигурацию сервера LDAP
UserNameFieldSep – Разделители пользовательских данныхДанная поддиректива задает множество символов, которые могут применятьсядля разделения пользовательского ввода на поля.
Пример
UserNameFieldSep ","
Значение по умолчанию
UserNameFieldSep " \t,"
По умолчанию разделителями считаются пробелы, запятые и символы табуляции.
Эта поддиректива применяется следующими формами:
¹ Создать конфигурацию сервера LDAP
¹ Изменить конфигурацию сервера LDAP
64 Руководство администратора IBM HTTP Server для AS/400 V4R4
GroupSearchBase – Корневой каталог поиска группДанная поддиректива задает корневой каталог для поиска групп на сервереLDAP.
Пример
GroupSearchBase "o=IBM, c=US"
Эта поддиректива применяется следующими формами:
¹ Создать конфигурацию сервера LDAP
¹ Изменить конфигурацию сервера LDAP
GroupNameFilter – Фильтр поиска группДанная поддиректива задает фильтр, применяемый для поиска групп на сервереLDAP.
Пример
GroupNameFilter "(&(objectclass=groupNames)(objectclass=groupOfUniqueNames))"
Эта поддиректива применяется следующими формами:
¹ Создать конфигурацию сервера LDAP
¹ Изменить конфигурацию сервера LDAP
GroupMemberAttrs – Атрибуты, возвращаемые при поискегруппДанная поддиректива задает атрибуты группы, включающие информацию о еечленах. При указании нескольких атрибутов они должны быть разделенызапятыми. По умолчанию информация о членах группы считывается из атрибутовmember и uniqueMember, как показано в следующем примере.
Пример
GroupMemberAttrs "member,uniqueMember"
Эта поддиректива применяется следующими формами:
¹ Создать конфигурацию сервера LDAP
¹ Изменить конфигурацию сервера LDAP
LDAPInclude – Получить конфигурацию Web–сервера от сервера LDAPДиректива LDAPInclude задает конфигурацию LDAP, применяемую для полученияинформации о конфигурации от сервера LDAP.
Эта директива должна быть указана после директивы LDAPInfo, определяющейуказанную конфигурацию LDAP.
Формат
Директивы файла конфигурации сервера 65
Ведение протоколов
LDAPInclude имя–метки фильтр атрибут
имя–меткиИмя конфигурации LDAP, определенной директивой LDAPInfo. Этаконфигурация LDAP будет применена для получения от сервера LDAPзначений указанных атрибутов конфигурации.
фильтрСтрока запроса, передаваемая Web–сервером серверу LDAP. Если серверLDAP найдет соответствующую запись, он вернет ее отличительное имя.Например, фильтр (cn=Victor Pelevin) предназначен для поиска в каталогахимени Victor Pelevin.
атрибутИмя атрибута, значение которого будет включено в файл конфигурации.
Пример
LDAPInclude PrimaryLdapServer "(cn=web config)" description
В этом примере от сервера LDAP, описанного в конфигурации PrimaryLdapServer,будет получено значение атрибута description записи с именем web config.
Данная директива применяется следующей формой:
¹ Директивы LDAPInclude
Ведение протоколовСервер IBM HTTP Server содержит утилиты для создания отчетов, простых и обиспользовании ресурсов Web, архивации и обслуживания протоколов. В то жевремя, файлы протоколов могут занимать значительный объем дисковогопространства. Средства архивации и обслуживания предназначены дляупрощения управления файлами протоколов. В этом разделе описаны директивы,управляющие протоколами сервера. Сервер заносит информацию из поступающихзапросов в различные протоколы. Кроме того, обнаруженные ошибки заносятся вфайлы протокола ошибок.
Сервер IBM HTTP Server может вести следующие протоколы:
¹ Протокол доступа
¹ Протокол браузеров
¹ Протокол ошибок
¹ Протокол доступа к кэшу – для кэш–сервера Proxy
¹ Протокол ошибок CGI
¹ Протокол доступа к Proxy – для сервера Proxy
¹ Протокол ссылок
66 Руководство администратора IBM HTTP Server для AS/400 V4R4
Ведение протоколов
Дополнительная информация о перечисленных протоколах приведена в разделе“Настройка протоколов” на стр. 177.
Для каждого протокола можно задать следующие параметры:
¹ Путь к файлам этого протокола
¹ Максимальный размер каждого файла
¹ Способ занесения запросов в протокол
¹ Запросы, для которых не создаются записи протокола
Примечание: У пользовательского профайла QTMHHTTP сервера IBM HTTPServer должны быть права доступа на запись ко всем файлампротоколов в интегрированной файловой системе (IFS) илифайловой системе QSYS. Для файловой системы QDLS упользовательского профайла QTMHHTTP должны быть правадоступа ко всем папкам, в которых хранятся файлы протоколов.
По умолчанию применяется общий формат протокола доступа. Протоколы данноговида поддерживаются большей частью Web–серверов.
Примечание: Полный список кодов состояния HTTP, которые могут бытьзанесены в протокол сервера, приведен в разделе “Кодысостояния HTTP” на стр. 265.
AccessLog – Путь к файлам протокола доступаДанная директива задает каталог, в котором будет создаваться протокол всехзапросов, получаемых сервером.
Если сервер запущен, то каждую полночь он создает новый файл протокола. Впротивном случае сервер создает новый файл протокола в момент запуска. Имяэтого файла составляется из имени, указанного в конфигурации, и текущей даты.
Если данной директивы нет в файле конфигурации, запросы не заносятся впротокол.
Форматы протоколов доступа и ошибок должны совпадать. В файловых системахQSYS и QDLS в качестве имени элемента используется текущая дата. В IFS датадобавляется к имени файла в качестве расширения. Дата указывается в форматеqсггммдд, где:
¹ с – столетие (0 – до 2000 года, 1 – после 2000 года),
¹ гг – год,
¹ мм – месяц,
¹ дд – день.
Если сервер запущен, то каждую полночь (по времени системы) он создает новыйфайл протокола доступа. В противном случае сервер создает новый файлпротокола доступа в момент запуска. Рекомендуется регулярно удалять старые
Директивы файла конфигурации сервера 67
Ведение протоколов
протоколы доступа, поскольку они могут занимать значительный объем дисковогопространства.
Дополнительная информация об этой директиве приведена в электронной справкек форме Протокол доступа. Форма Протокол доступа находится в подразделеВедение протоколов раздела Конфигурации форм настройки и управления.
Формат
AccessLog имя–файла [макс–размер] [расширенный–формат]
имя–файлаДля размещения протокола в Интегрированной файловой системе укажите вэтом параметре существующий каталог IFS. Каталог должен быть созданперед первым запуском сервера. При запуске сервер создаст в нем файл суказанным именем.
Для любой файловой системы, кроме QDLS, вы можете указать каталог иоснову имени для файлов протокола доступа. Пример: /http/logs/accesslog.
Сервер добавит к основе имени файла расширение в формате qсггммдд, где:
¹ с – столетие (0 – до 2000 года, 1 – после 2000 года),
¹ гг – год,
¹ мм – месяц,
¹ дд – день.
Для файловой системы QDLS вы можете указать каталог файлов протоколадоступа. Пример: /QDLS/httplogs/acclog/.
Сервер создаст имя файла в формате qсггммдд, где:
¹ с – столетие (0 – до 2000 года, 1 – после 2000 года),
¹ гг – год,
¹ мм – месяц,
¹ дд – день.
Примечание: К имени файла не добавляется никакое расширение.
Для файловой системы QSYS файл протокола доступа может быть выбрандвумя способами:
1. При указании только имени файла протокола сервер создаст этот файл вбиблиотеке QUSRSYS. Пример: acclog.
2. Имя библиотеки может быть указано в формате имен IFS. Пример:/qsys.lib/httplogs.lib/acclog.file. Указанная библиотека должнасуществовать перед запуском сервера. Файл и элемент сервер создаетавтоматически.
68 Руководство администратора IBM HTTP Server для AS/400 V4R4
Ведение протоколов
максимальный–размерМаксимальный размер файла протокола, в килобайтах. Если указано значение0, размер файла протокола увеличивается до очередной обработкипротоколов в полночь. В это время сервер закрывает файл протокола за деньи открывает новый. Максимальный размер по умолчанию равен 2000килобайт. Этот параметр необязательный.
Примечание: Значение может быть указано в байтах (B), килобайтах (K),мегабайтах (M) или гигабайтах (G). Если единица размера неуказана, размер считается в килобайтах.
имя–расширенного–форматаИмя расширенного формата, определенного ранее. Расширенный форматописывает поля каждой записи протокола доступа. Расширенный форматможет быть указан для протокола доступа, протокола доступа к кэшу ипротокола доступа к Proxy. Дополнительная информация о директивеExtendedLogFormat приведена в разделе “ExtendedLogFormat – Расширенныйформат протокола доступа” на стр. 85.
Если в директиве LogFormat выбран расширенный формат протокола доступа,но имя расширенного формата в директиве AccessLog не указано, серверприменяет расширенный формат по умолчанию. Расширенный формат поумолчанию включает общий формат и информацию протоколов браузеров иссылок.
Примеры
QSYS: AccessLog ACCLOG 4000 Jim
QOpenSys: AccessLog /QOpenSys/server/logs/accesslog 2500
"root" (/): AccessLog /http/logs/accesslog 800
QDLS: AccessLog /QDLS/AccessLog/ 320
Данная директива применяется следующими формами:
¹ Протокол доступа
¹ Изменить параметры экземпляра
AccessLogArchive – Обслуживание файлов протоколов доступа, браузерови ссылок
Данная директива управляет обслуживанием протоколов доступа, агентов иссылок. Каждую полночь сервер HTTP закрывает текущий файл каждогопротокола и создает новый. В зависимости от значения данной директивы надзакрытыми файлами будет выполняться одно из следующих действий:
¹ Файлы будут удаляться через определенное время или при достиженииопределенного общего размера.
¹ Файлы будут оставаться в том же каталоге.
¹ Будет запускаться пользовательская программа выхода.
Директивы файла конфигурации сервера 69
Ведение протоколов
Обслуживание файлов различных протоколов выполняется в следующем порядке:
1. Протокол доступа
2. Протокол браузеров
3. Протокол ссылок
Для удаления файлов через определенное время укажите также директивуAccessLogExpire. Для удаления протоколов при достижении определенного общегоразмера укажите также директиву AccessLogsizeLimit. Для того чтобы закрытыефайлы оставались в том же каталоге (значение по умолчанию) можно указатьдирективу AccessLogArchive none.
Директива AccessLogArchive может указывать серверу IBM HTTP Server запускатьдля обслуживания файлов протокола внешнюю программу. В этом случае вдирективе должен быть указан путь и параметры этой программы. Эта программаможет вызываться сервером до трех раз каждую полночь, отдельно дляпротоколов доступа, браузеров и ссылок. К параметрам программы будетдобавлен путь к закрытому файлу протокола.
Данная директива может быть указана в одном из следующих форматов:
AccessLogArchive purge
AccessLogArchive none
AccessLogArchive userexit программа–выхода [параметры]
purgeУдалять файлы протокола через определенное время или при достиженииопределенного общего размера.
noneНе удалять файлы протокола.
userexitЗапускать указанную пользовательскую программу выхода. Вы также можетеуказать параметры, передаваемые этой программе.
Значение по умолчанию
AccessLogArchive none
Данная директива применяется следующей формой:
¹ Протокол доступа
AccessLogExcludeMethod – Не создавать записи протокола для файлов икаталогов, запрошенных указанным методом
Данная директива исключает из протокола доступа запросы указанным методом.Например, можно исключить запросы методом POST.
Если данная директива не указана, сервер заносит в протокол записи для всехзапросов, независимо от метода.
70 Руководство администратора IBM HTTP Server для AS/400 V4R4
Ведение протоколов
Эта директива действует на следующие протоколы:
¹ Протокол доступа
¹ Протокол браузеров
¹ Протокол доступа к кэшу
¹ Протокол доступа к Proxy
¹ Протокол ссылок
Эта директива может быть указана в файле конфигурации несколько раз. В однойдирективе можно указать несколько методов, разделенных пробелами.
Дополнительная информация об этой директиве приведена в электронной справкек форме Протокол доступа. Форма Протокол доступа находится в подразделеВедение протоколов раздела Конфигурации форм настройки и управления.
Пример
AccessLogExcludeMethod GET
AccessLogExcludeMethod POST
Данная директива применяется следующей формой:
¹ Протокол доступа
AccessLogExcludeMIMEType – Не создавать записи протокола дляуказанных типов MIME
Данная директива исключает из протокола доступа запросы к файлам указанноготипа MIME. Примеры типов MIME: text/html, image/gif и image/jpeg. Например,можно исключить запросы к изображениям в формате GIF.
Если данная директива не указана, сервер заносит в протокол записи для всехзапросов, независимо от типа MIME.
Эта директива действует на следующие протоколы:
¹ Протокол доступа
¹ Протокол браузеров
¹ Протокол доступа к кэшу
¹ Протокол доступа к Proxy
¹ Протокол ссылок
Эта директива может быть указана в файле конфигурации несколько раз. В однойдирективе можно указать несколько типов MIME, разделенных пробелами.
Дополнительная информация об этой директиве приведена в электронной справкек форме Протокол доступа. Форма Протокол доступа находится в подразделеВедение протоколов раздела Конфигурации форм настройки и управления.
Директивы файла конфигурации сервера 71
Ведение протоколов
Пример
AccessLogExcludeMIMEType image/gif
Данная директива применяется следующей формой:
¹ Протокол доступа
AccessLogExcludeReturnCode – Не создавать записи протокола дляуказанных кодов возврата
Данная директива исключает из протокола доступа запросы, коды возвратакоторых лежат в указанном диапазоне. Проверяемые коды возвратасоответствуют кодам состояний HTTP.
Если данная директива не указана, сервер заносит в протокол записи для всехзапросов, независимо от кода возврата.
Эта директива действует на следующие протоколы:
¹ Протокол доступа
¹ Протокол браузеров
¹ Протокол доступа к кэшу
¹ Протокол доступа к Proxy
¹ Протокол ссылок
В этой директиве невозможно указать отдельный код возврата. Более того,указание, например, значения 300 исключает все запросы с кодами возврата,означающими перенаправление: 301, 302, 303 и 304. Для исключения этихзапросов достаточно указать:
AccessLogExcludeReturnCode 300
Эта директива может быть указана в файле конфигурации несколько раз. В однойдирективе можно указать несколько кодов возврата, разделенных пробелами.
Дополнительная информация об этой директиве приведена в электронной справкек форме Протокол доступа. Форма Протокол доступа находится в подразделеВедение протоколов раздела Конфигурации форм настройки и управления.
Формат
AccessLogArchive код возврата
код возвратаУкажите любое подмножество следующих значений: 200, 300, 400 или 500.
Пример
AccessLogExcludeReturnCode 300 400
Данная директива применяется следующей формой:
72 Руководство администратора IBM HTTP Server для AS/400 V4R4
Ведение протоколов
¹ Протокол доступа
AccessLogExcludeURL – Не создавать записи протокола для указанныхфайлов и каталогов
Данная директива исключает из протокола доступа запросы, URL которыхсоответствует заданному шаблону. Например, можно исключить запросы кфайлам с расширением .GIF или ко всем файлам определенного каталога.
Если данная директива не указана, сервер заносит в протокол записи для всехзапросов, независимо от их URL.
Эта директива действует на следующие протоколы:
¹ Протокол доступа
¹ Протокол браузеров
¹ Протокол доступа к кэшу
¹ Протокол доступа к Proxy
¹ Протокол ссылок
Эта директива может быть указана в файле конфигурации несколько раз. В однойдирективе можно указать несколько шаблонов URL, разделенных пробелами.
Дополнительная информация об этой директиве приведена в электронной справкек форме Протокол доступа. Форма Протокол доступа находится в подразделеВедение протоколов раздела Конфигурации форм настройки и управления.
Пример
AccessLogExcludeURL *.gif
AccessLogExcludeURL /Rochvill/*
Данная директива применяется следующей формой:
¹ Протокол доступа
AccessLogExcludeUserAgent – Не создавать записи протокола дляуказанных браузеров
Данная директива исключает из протокола доступа запросы, отправленныеуказанными браузерами.
Эта директива действует на следующие протоколы:
¹ Протокол доступа
¹ Протокол браузеров
¹ Протокол доступа к кэшу
¹ Протокол доступа к Proxy
¹ Протокол ссылок
Директивы файла конфигурации сервера 73
Ведение протоколов
Эта директива может быть указана в файле конфигурации несколько раз.
Формат
AccessLogExcludeUserAgent браузер
браузерШаблон для типа браузера.
Пример
AccessLogExcludeUserAgent Mozilla*
В этом примере из протокола доступа исключаются все запросы, полученные отбраузеров Netscape.
Данная директива применяется следующей формой:
¹ Протокол доступа
AccessLogExpire – Удалять файлы протоколов доступа, браузеров и ссылокчерез указанное количество дней
Данная директива указывает серверу удалять файлы протоколов доступа,браузеров и ссылок через определенное количество дней. Для указания этойдирективы необходимо также указать директиву AccessLogArchive. Эта директиваможет быть указана в файле конфигурации только один раз. Время храненияфайлов протокола доступа определяется по связанной с ними дате создания.Дата, указанная в имени файла (например, для файла accesslog.Q0990322) неприменяется для определения времени хранения.
Формат
AccessLogExpire число дней
число днейЧисло дней, через которое файлы протокола доступа будут автоматическиудаляться. Это число должно быть целым. Значения с десятичной точкой,такие как 1.5, недопустимы. Значение по умолчанию равно 0. При этом времяхранения файлов протокола не ограничено.
Значение по умолчанию
AccessLogExpire 0
Данная директива применяется следующей формой:
¹ Протокол доступа
AccessLogSizeLimit – Удалять файлы протоколов доступа, браузеров иссылок, когда их общий размер превышает указанный
Данная директива указывает серверу удалять файлы протоколов доступа,браузеров и ссылок, когда их общий размер превышает указанное значение.Общий размер вычисляется и сравнивается с указанным значением отдельно для
74 Руководство администратора IBM HTTP Server для AS/400 V4R4
Ведение протоколов
протоколов доступа, браузеров и ссылок. Для указания этой директивынеобходимо также указать директиву AccessLogArchive. Эта директива можетбыть указана в файле конфигурации только один раз. Данная директива действуетпосле директивы AccessLogExpire.
Формат
AccessLogSizeLimit размер в мегабайтах
размер в мегабайтахМаксимальный общий размер файлов протокола. При превышении этогоразмера файлы удаляются начиная с самого старого, до тех пор, пока ихобщий размер не уменьшится до указанного значения. Указанное числомегабайт должно быть целым. Значение по умолчанию равно 0. При этомобщий размер файлов протокола не ограничен.
Значение по умолчанию
AccessLogSizeLimit 0
Данная директива применяется следующей формой:
¹ Протокол доступа
AgentLog – Путь к файлам протокола браузеровДанная директива задает каталог, в котором будет создаваться протоколполученных запросов с информацией о Web–браузерах клиентов.
По умолчанию сервер создает в этом протоколе запись для каждого полученногозапроса. При этом каждой записи в протоколе доступа соответствует одна записьв протоколе браузеров.
Если сервер запущен, то каждую полночь (по времени системы) он создает новыйфайл протокола браузеров. В противном случае сервер создает новый файлпротокола браузеров в момент запуска.
Если данной директивы нет в файле конфигурации, получаемые запросы незаносятся в протокол браузеров.
Примечание: Для ведения протокола браузеров необходимо указать директивуAccessLog. Если директива AccessLog не будет указана, серверсоздаст файл протокола браузеров, но не будет заносить в негозаписи.
Дополнительная информация об этой директиве приведена в электронной справкек форме Протокол доступа. Форма Протокол доступа находится в подразделеВедение протоколов раздела Конфигурации форм настройки и управления.
Формат
AgentLog имя–файла [максимальный–размер]
Директивы файла конфигурации сервера 75
Ведение протоколов
имя–файлаДля размещения протокола в Интегрированной файловой системе укажите вэтом параметре существующий каталог IFS. Каталог должен быть созданперед первым запуском сервера. При запуске сервер создаст в нем файл суказанным именем.
Для любой файловой системы, кроме QDLS, вы можете указать каталог иоснову имени для файлов протокола браузеров. Пример: /http/logs/agentlog.
Сервер добавит к основе имени файла расширение в формате qсггммдд, где:
¹ с – столетие (0 – до 2000 года, 1 – после 2000 года),
¹ гг – год,
¹ мм – месяц,
¹ дд – день.
Для файловой системы QDLS вы можете указать каталог файлов протоколабраузеров. Пример: /QDLS/httplogs/agntlog/.
Сервер создаст имя файла в формате qсггммдд, где:
¹ с – столетие (0 – до 2000 года, 1 – после 2000 года),
¹ гг – год,
¹ мм – месяц,
¹ дд – день.
Примечание: К имени файла не добавляется никакое расширение.
Для файловой системы QSYS файл протокола браузеров может быть выбрандвумя способами:
1. При указании только имени файла протокола сервер создаст этот файл вбиблиотеке QUSRSYS. Пример: agntlog.
2. Имя библиотеки может быть указано в формате имен IFS. Пример:/qsys.lib/httplogs.lib/agntlog.file. Указанная библиотека должнасуществовать перед запуском сервера. Файл и элемент сервер создаетавтоматически.
максимальный–размерМаксимальный размер файла протокола, в килобайтах. Если указано значение0, размер файла протокола увеличивается до очередной обработкипротоколов в полночь. В это время сервер закрывает файл протокола за деньи открывает новый. Максимальный размер по умолчанию равен 2000килобайт. Этот параметр необязательный.
Примечание: При указании размера в килобайтах единицу измерения можноопустить. Если она не указана, размер считается в килобайтах.
Пример
AgentLog /logs/agent–log 8000
76 Руководство администратора IBM HTTP Server для AS/400 V4R4
Ведение протоколов
Примечание: Для файлов протокола, создаваемых в файловой системе QDLS,допустимо задание только каталога. Имя файла будет определенопо текущей дате, в том же формате, что и расширение в другихфайловых системах. У пользовательского профайла QTMHHTTPдолжны быть права доступа *RWX ко всем папкам указанногопути.
Данная директива применяется следующей формой:
¹ Протокол доступа
CacheAccessLog – Путь к файлам протокола доступа к кэшуЕсли сервер работает в качестве Proxy, все запросы к кэшу могут заноситься впротокол отдельно от обычных запросов. Данная директива задает каталог, вкотором будет создаваться протокол полученных запросов к кэшированнымфайлам. Для ведения протокола доступа к кэшу должны быть указаныследующие директивы:
¹ Caching On (значение по умолчанию – Off)
¹ CacheRoot (по умолчанию директива CacheRoot не задана)
¹ AccessLog
¹ CacheAccessLog
Если данной директивы нет в файле конфигурации, получаемые запросы к кэшу незаносятся в протокол доступа к кэшу.
Примечания:
1. Если в конфигурации указана директива AccessLog, но не указана директиваCacheAccessLog, запросы к кэшу заносятся в протокол доступа.Дополнительная информация о директиве AccessLog приведена в разделе“AccessLog – Путь к файлам протокола доступа” на стр. 67.
2. Если в директиве AccessLog указан расширенный формат протокола, этот жеформат применяется для протокола доступа к кэшу.
Значение CacheAccessLog может быть полным путем или отсчитываться отзначения директивы ServerRoot (см. пример ниже).
Примечание: Если указана директива CacheAccessLog, запросы ккэшированным файлам заносятся в протокол доступа к кэшу, но нев протокол доступа. Информация протокола доступа к кэшу невключается в отчеты о доступе. Для того чтобы отчеты о доступевключали информацию о доступе к кэшированным файлам неуказывайте директиву CacheAccessLog.
Если сервер запущен, то каждую полночь (по времени системы) он создает новыйфайл протокола доступа к кэшу. В противном случае сервер создает новый файлпротокола доступа к кэшу в момент запуска.
Директивы файла конфигурации сервера 77
Ведение протоколов
Примечание: Рекомендуется регулярно проверять содержимое каталогов сфайлами протоколов. При активной работе сервера эти файлымогут занять значительный объем дискового пространства системыи даже привести к его переполнению. Регулярно удаляйтененужные файлы протоколов.
Дополнительная информация об этой директиве приведена в электронной справкек форме Протокол доступа. Форма Протокол доступа находится в подразделеВедение протоколов раздела Конфигурации форм настройки и управления.
Формат этой директивы следующий:
CacheAccessLog имя–файла [максимальный–размер]
имя–файлаДля размещения протокола в Интегрированной файловой системе укажите вэтом параметре существующий каталог IFS. Каталог должен быть созданперед первым запуском сервера. При запуске сервер создаст в нем файл суказанным именем.
Для любой файловой системы, кроме QDLS, вы можете указать каталог иоснову имени для файлов протокола доступа к кэшу. Пример:/http/logs/cacheaccesslog.
Сервер добавит к основе имени файла расширение в формате qсггммдд, где:
¹ с – столетие (0 – до 2000 года, 1 – после 2000 года),
¹ гг – год,
¹ мм – месяц,
¹ дд – день.
Для файловой системы QDLS вы можете указать каталог файлов протоколадоступа к кэшу. Пример: /QDLS/httplogs/cachelog/.
Сервер создаст имя файла в формате qсггммдд, где:
¹ с – столетие (0 – до 2000 года, 1 – после 2000 года),
¹ гг – год,
¹ мм – месяц,
¹ дд – день.
Примечание: К имени файла не добавляется никакое расширение.
максимальный–размерМаксимальный размер файла протокола, в килобайтах. Если указано значение0, размер файла протокола увеличивается до очередной обработкипротоколов в полночь. В это время сервер закрывает файл протокола за деньи открывает новый. Максимальный размер по умолчанию равен 2000килобайт. Этот параметр необязательный.
78 Руководство администратора IBM HTTP Server для AS/400 V4R4
Ведение протоколов
Примечание: При указании размера в килобайтах единицу измерения можноопустить. Если она не указана, размер считается в килобайтах.
Пример
CacheAccessLog /absolute/path/logfile 3300
CacheAccessLog /logs/logfile 5050
Примечание: Для файлов протокола, создаваемых в файловой системе QDLS,допустимо задание только каталога. Имя файла будет определенопо текущей дате, в том же формате, что и расширение в другихфайловых системах. У пользовательского профайла QTMHHTTPдолжны быть права доступа *RWX ко всем папкам указанногопути.
Данная директива применяется следующей формой:
¹ Протокол доступа
¹ Параметры кэширования
CGIErrorLog – Путь к файлам протокола ошибок CGIДанная директива задает каталог, в котором будет создаваться протокол выводапрограмм CGI в поток stderr.
Если сервер запущен, то каждую полночь (по времени системы) он создает новыйфайл протокола ошибок CGI. В противном случае сервер создает новый файлпротокола ошибок CGI в момент запуска.
Если данной директивы нет в файле конфигурации, ошибки программ CGI незаносятся в протокол.
Для размещения этого протокола в файловой системе QSYS.LIB необходимоуказать библиотеку и имя файла. Сервер создаст автоматически создаст элементс именем в формате QГГГГММДД, где:
¹ Q символ, проверяемый сервером при идентификации файла протокола,
¹ ГГГГ – год,
¹ MM – месяц,
¹ DD – день.
Примечание: Учтите, что у пользовательского профайла QTMHHTTP должныбыть права доступа на запись, необходимые для создания файловпротокола в указанном каталоге IFS. Для файловой системы QDLSу пользовательского профайла QTMHHTTP должны быть правадоступа ко всем папкам, в которых хранятся файлы протоколов.
Дополнительная информация об этой директиве приведена в электронной справкек форме Протокол ошибок. Форма Протокол ошибок находится в подразделеВедение протоколов раздела Конфигурации форм настройки и управления.
Директивы файла конфигурации сервера 79
Ведение протоколов
Формат
CGIErrorLog имя–файла [максимальный–размер]
имя–файлаДля размещения протокола в Интегрированной файловой системе укажите вэтом параметре существующий каталог IFS. Каталог должен быть созданперед первым запуском сервера. При запуске сервер создаст в нем файл суказанным именем.
Для любой файловой системы, кроме QDLS, вы можете указать каталог иоснову имени для файлов протокола ошибок CGI. Пример:/http/logs/cgierrorlog.
Сервер добавит к основе имени файла расширение в формате qсггммдд, где:
¹ с – столетие (0 – до 2000 года, 1 – после 2000 года),
¹ гг – год,
¹ мм – месяц,
¹ дд – день.
Для файловой системы QDLS вы можете указать каталог файлов протоколаошибок CGI. Пример: /QDLS/httplogs/cgierrorlog/.
Сервер создаст имя файла в формате qсггммдд, где:
¹ с – столетие (0 – до 2000 года, 1 – после 2000 года),
¹ гг – год,
¹ мм – месяц,
¹ дд – день.
Примечание: К имени файла не добавляется никакое расширение.
Для файловой системы QSYS файл протокола ошибок CGI может быть выбрандвумя способами:
1. При указании только имени файла протокола сервер создаст этот файл вбиблиотеке QUSRSYS. Пример: cgilog.
2. Имя библиотеки может быть указано в формате имен IFS. Пример:/qsys.lib/httplogs.lib/cgilog.file. Указанная библиотека должнасуществовать перед запуском сервера. Файл и элемент сервер создаетавтоматически.
максимальный–размерМаксимальный размер файла протокола, в килобайтах. Если указано значение0, размер файла протокола увеличивается до очередной обработкипротоколов в полночь. В это время сервер закрывает файл протокола за деньи открывает новый. Максимальный размер по умолчанию равен 2000килобайт. Этот параметр необязательный.
80 Руководство администратора IBM HTTP Server для AS/400 V4R4
Ведение протоколов
Примечание: При указании размера в килобайтах единицу измерения можноопустить. Если она не указана, размер считается в килобайтах.
Пример
CGIErrorLog /logs/cgi–error 1500
Примечание: Для файлов протокола, создаваемых в файловой системе QDLS,допустимо задание только каталога. Имя файла будет определенопо текущей дате, в том же формате, что и расширение в другихфайловых системах. У пользовательского профайла QTMHHTTPдолжны быть права доступа *RWX ко всем папкам указанногопути.
Данная директива применяется следующей формой:
¹ Протокол ошибок
ErrorLog – Путь к файлу протокола внутренних ошибок сервераДанная директива задает каталог, в котором будет создаваться протоколвнутренних ошибок сервера. Вы также можете выбрать CCSID и идентификаторязыка для этого протокола.
Если сервер запущен, то каждую полночь он создает новый файл протокола. Впротивном случае сервер создает новый файл протокола в момент запуска. Имяэтого файла составляется из имени, указанного в конфигурации, и текущей даты.
Если данной директивы нет в файле конфигурации, внутренние ошибки сервера незаносятся в протокол.
Дополнительная информация об этой директиве приведена в электронной справкек форме Протокол ошибок. Форма Протокол ошибок находится в подразделеВедение протоколов раздела Конфигурации форм настройки и управления.
Формат
ErrorLog имя–файла [максимальный–размер]
[идентификатор–языка CCSID]
имя–файлаДля размещения протокола в Интегрированной файловой системе укажите вэтом параметре существующий каталог IFS. Каталог должен быть созданперед первым запуском сервера. При запуске сервер создаст в нем файл суказанным именем.
Для любой файловой системы, кроме QDLS, вы можете указать каталог иоснову имени для файлов протокола ошибок. Пример: /http/logs/errorlog.
Сервер добавит к основе имени файла расширение в формате qсггммдд, где:
¹ с – столетие (0 – до 2000 года, 1 – после 2000 года),
¹ гг – год,
Директивы файла конфигурации сервера 81
Ведение протоколов
¹ мм – месяц,
¹ дд – день.
Для файловой системы QDLS вы можете указать каталог файлов протоколаошибок. Пример: /QDLS/httplogs/errlog/.
Сервер создаст имя файла в формате qсггммдд, где:
¹ с – столетие (0 – до 2000 года, 1 – после 2000 года),
¹ гг – год,
¹ мм – месяц,
¹ дд – день.
Примечание: К имени файла не добавляется никакое расширение.
Для файловой системы QSYS файл протокола ошибок может быть выбрандвумя способами:
1. При указании только имени файла протокола сервер создаст этот файл вбиблиотеке QUSRSYS. Пример: errorlog.
2. Имя библиотеки может быть указано в формате имен IFS. Пример:/qsys.lib/httplogs.lib/errorlog.file. Указанная библиотека должнасуществовать перед запуском сервера. Файл и элемент сервер создаетавтоматически.
максимальный–размерМаксимальный размер файла протокола, в килобайтах. Если указано значение0, размер файла протокола увеличивается до очередной обработкипротоколов в полночь. В это время сервер закрывает файл протокола за деньи открывает новый. Максимальный размер по умолчанию равен 2000килобайт. Этот параметр необязательный.
Примечание: Значение может быть указано в байтах (B), килобайтах (K),мегабайтах (M) или гигабайтах (G). Если единица измерения неуказана, сервер считает значение в килобайтах.
идентификатор–языка CCSIDИдентификатор языка и CCSID для всех файлов протокола ошибок.
Допустимые идентификаторы языков состоят из трех символов. Если указатьспециальное значение *DFT, будет выбран идентификатор языка поумолчанию, равный ENU (Английский). Если указать *LANGID, будет выбранидентификатор, заданный в системном значении QLANGID. Списокдопустимых идентификаторов языка можно просмотреть в команде wrksysvalQLANGID.
Допустимые CCSID лежат в диапазоне от 00001 до 65535. Список значенийCCSID приведен в руководстве AS/400 National Language Support, SC41–5101.Если указать *DFT, будет выбрано значение по умолчанию. Это значениеравно 819 для файлов в IFS и 37 для файлов в файловой системе QSYS. Если
82 Руководство администратора IBM HTTP Server для AS/400 V4R4
Ведение протоколов
указать *CCSID, будет выбран идентификатор, заданный в системномзначении QCCSID.
Примечания:
1. Значения идентификатор–языка и CCSID должны быть указаны вместе.Указание только одного из этих параметров не допускается.
2. Если значения идентификатор–языка и CCSID не указаны, будут выбранызначения по умолчанию, равные ENU 819 или ENU 37.
3. Если указанный язык не установлен, будет выбран основной язык,установленный для продукта IBM HTTP Server для AS/400 (5769–DG1).
Примеры
QSYS: ErrorLog ERRLOG 1000
QOpenSys: ErrorLog /QOpenSys/server/logs/errorlog 550 ENU 819
Примечание: Для файлов протокола, создаваемых в файловой системе QDLS,допустимо задание только каталога. Имя файла будет определенопо текущей дате, в том же формате, что и расширение в другихфайловых системах. У пользовательского профайла QTMHHTTPдолжны быть права доступа *RWX ко всем папкам указанногопути.
Пример
ErrorLog /httplog/error/default 2000
Данная директива применяется следующей формой:
¹ Протокол ошибок
¹ Изменить параметры экземпляра
ErrorLogArchive – Обслуживание файлов протоколов внутренних ошибоксервера и ошибок CGI
Данная директива управляет обслуживанием протоколов внутренних ошибоксервера и ошибок CGI. Каждую полночь сервер HTTP закрывает текущие файлыкаждого протокола и создает новые. В зависимости от значения данной директивынад закрытыми файлами будет выполняться одно из следующих действий:
¹ Файлы будут удаляться через определенное время или при достиженииопределенного общего размера.
¹ Файлы будут оставаться в том же каталоге.
¹ Будет запускаться пользовательская программа выхода.
Для удаления файлов через определенное время укажите также директивуErrorLogExpire. Для удаления файлов при достижении определенного общегоразмера укажите также директиву ErrorLogSizeLimit.
Директивы файла конфигурации сервера 83
Ведение протоколов
Для того чтобы закрытые файлы оставались в том же каталоге (значение поумолчанию), можно указать директиву ErrorLogArchive none.
Директива ErrorLogArchive позволяет запускать для обслуживания файловпротокола внешнюю программу. В этом случае в директиве должен быть указанпуть и параметры этой программы. Эта программа может вызываться серверомдо двух раз каждую полночь, отдельно для протоколов внутренних ошибоксервера и ошибок CGI. К параметрам программы будет добавлен путь кзакрытому файлу протокола.
Данная директива может быть указана в одном из следующих форматов:
ErrorLogArchive purge
ErrorLogArchive none
ErrorLogArchive userexit программа–выхода [параметры]
purgeУдалять файлы протокола через определенное время или при достиженииопределенного общего размера.
noneНе удалять файлы протокола.
userexitЗапускать указанную пользовательскую программу выхода. Вы также можетеуказать параметры, передаваемые этой программе.
Значение по умолчанию
ErrorLogArchive none
Данная директива применяется следующей формой:
¹ Протокол ошибок
ErrorLogExpire – Удалять файлы протоколов внутренних ошибок сервера иошибок CGI через указанное количество дней
Данная директива указывает серверу удалять файлы протоколов внутреннихошибок сервера и ошибок CGI через определенное количество дней. Дляуказания этой директивы необходимо также указать директиву ErrorLogArchive.Эта директива может быть указана в файле конфигурации только один раз. Времяхранения файлов протоколов ошибок определяется по связанной с ними датесоздания. Дата, указанная в имени файла (например, для файлаerrorlog.Q0990322) не применяется для определения времени хранения.
Формат
ErrorLogExpire число–дней
число–днейЧисло дней, через которое файлы протоколов ошибок будут автоматическиудаляться. Это число должно быть целым. Значения с десятичной точкой,
84 Руководство администратора IBM HTTP Server для AS/400 V4R4
Ведение протоколов
такие как 1.5, недопустимы. Значение по умолчанию равно 0. При этом времяхранения файлов протокола не ограничено.
Значение по умолчанию
ErrorLogExpire 0
Данная директива применяется следующей формой:
¹ Протокол ошибок
ErrorLogSizeLimit – Удалять файлы протоколов внутренних ошибок сервераи ошибок CGI, когда их общий размер превышает указанный
Данная директива указывает серверу удалять файлы протоколов внутреннихошибок сервера и ошибок CGI, когда их общий размер превышает указанноезначение. Общий размер вычисляется и сравнивается с указанным значениемотдельно для протоколов внутренних ошибок сервера и ошибок CGI. Для указанияэтой директивы необходимо также указать директиву ErrorLogArchive. Этадиректива может быть указана в файле конфигурации только один раз. Даннаядиректива действует после директивы ErrorLogExpire.
Формат
ErrorLogSizeLimit размер–в–мегабайтах
размер–в–мегабайтахМаксимальный общий размер файлов протокола. При превышении этогоразмера файлы удаляются начиная с самого старого, до тех пор, пока ихобщий размер не уменьшится до указанного значения. Указанное числомегабайт должно быть целым. Значение по умолчанию равно 0. При этомобщий размер файлов протокола не ограничен.
Значение по умолчанию
ErrorLogSizeLimit 0
Данная директива применяется следующей формой:
¹ Протокол ошибок
ExtendedLogFormat – Расширенный формат протокола доступаДанная директива выбирает информацию, сохраняемую в файлы протоколадоступа. Расширенный формат протокола создается в соответствии состандартами организации World Wide Web Consortium; к нему могут применятьсясредства анализа протоколов других фирм. Поддирективы данной директивызадают конкретную информацию каждого запроса, которая будет заноситься впротокол доступа. Каждому формату присваивается имя, которое затем можноуказать в директиве AccessLog.
Формат
Директивы файла конфигурации сервера 85
Ведение протоколов
ExtendedLogFormat имя–формата {
Field значение–поля
поддиректива
поддиректива
поддиректива
.
.
.
}
имя–форматаИмя данного формата.
FieldОписание поддирективы Field приведено в разделе “Field – Добавить поле взапись протокола доступа” на стр. 87. В директиве ExtendedLogFormat должнабыть указана по крайней мере одна директива Field.
поддирективаПоддиректива задания расширенного формата протокола доступа. Последнимсимволом строки с директивой ExtendedLogFormat должна быть леваяфигурная скобка. Каждая поддиректива должна быть указана на отдельнойстроке. После последней поддирективы на отдельной строке должна бытьуказана правая фигурная скобка. Комментарии между фигурными скобкамине допускаются.
Пример
ExtendedLogFormat myformat {
StartDate
EndDate
Software
Remark "Описание файла протокола"
Field cs–dns
Field time
Field cs–uri–stem
Field sc–status
Field bytes
Field cs(User–Agent)
}
Данная директива применяется следующими формами:
¹ Создать расширенный формат протокола
¹ Изменить расширенный формат протокола
¹ Удалить расширенный формат протокола
Поддирективы ExtendedLogFormatНиже перечислены поддирективы задания расширенного формата протоколадоступа.
86 Руководство администратора IBM HTTP Server для AS/400 V4R4
Ведение протоколов
Date – Включить в файл протокола текущие дату и времяДанная поддиректива включает в заголовок файла протокола текущие дату ивремя.
EndDate – Включить в файл протокола дату и время егозакрытияДанная поддиректива включает в заголовок файла протокола дату и время егозакрытия.
Field – Добавить поле в запись протокола доступаДанная директива добавляет указанное поле в файл протокола доступа. Вдирективе ExtendedLogFormat должна быть указана по крайней мере однаподдиректива Field. Порядок полей в записи протокола доступа определяетсяпорядком директив Field. Если информация некоторого поля недоступна, в этомполе записи указывается прочерк (–).
Формат этой поддирективы следующий:
Field поле
полеВ этом параметре может быть указано одно из следующих значений:
¹ Идентификатор – информация о транзакции в целом.
¹ Пара префикс–идентификатор – информация о данных, передаваемыхмежду сторонами, указанными в префиксе.
¹ Пара префикс–заголовок – заголовок запроса HTTP, передаваемогомежду сторонами, указанными в префиксе.
Следующие идентификаторы не требуют указания префикса:
¹ date Дата завершения транзакции
¹ time Время завершения транзакции
¹ bytes Число переданных байт
¹ cached Число попаданий в кэш; 0 означает промах
Следующие идентификаторы требуют указания префикса:
¹ ip IP–адрес и порт хоста
¹ dns Имя DNS хоста
¹ status Код состояния
¹ comment Описание кода состояния
¹ method Метод URI
¹ URI URI
¹ uri–stem Основа URI (без запроса)
Директивы файла конфигурации сервера 87
Ведение протоколов
¹ uri–query Запрос URI
Допустимы следующие префиксы:
c Клиент
s Сервер
cs От клиента к серверу
sc От сервера к клиенту
Remark – Включить в файл протокола комментарииДанная поддиректива включает в заголовок файла протокола указанныекомментарии.
Software – Включить в файл протокола название программыДанная поддиректива включает в заголовок файла протокола название создавшейего программы.
StartDate – Включить в файл протокола дату и время егооткрытияДанная поддиректива включает в заголовок файла протокола дату и время егооткрытия.
LogFormat – Формат протокола: общий, DDS или расширенныйДанная директива задает формат файлов протокола: общий, DDS илирасширенный. При выборе общего или расширенного формата файлы протоколовдоступа и ошибок могут находиться как в QSYS, так и в IFS. Форматы протоколовдоступа и ошибок должны совпадать. Данная директива должны быть указана долюбой другой директивы, задающей формат файлов протокола.
По умолчанию выбирается общий формат. Большая часть других Web–серверовсоздает протоколы в аналогичном формате.
Если в качестве формата указано DDS, во время запуска сервера в указаннойбиблиотеке создается новый физический файл. Для этого запускается командаCRTDUPOBJ с параметром “OBJ,” указывающем на шаблон файла протоколадоступа. Поля каждой записи этого файла задаются спецификациями описанияданных (DDS).
Формат
LogFormat формат
формат
DDS Формат файлов протоколов доступа и ошибок задаетсяспецификациями описания данных (DDS). Файлы протоколовдоступа и ошибок в формате DDS должны храниться в файловой
88 Руководство администратора IBM HTTP Server для AS/400 V4R4
Ведение протоколов
системе QSYS. Формат DDS включает те же данные, что и общийформат.
Записи файлов протокола доступа содержат следующие поля:
¹ Имя хоста
¹ Идентификатор хоста
¹ Пользователь
¹ Время
¹ Запрос
¹ Состояние запроса
¹ Число переданных байт
Записи файлов протокола ошибок содержат следующие поля:
¹ Время
¹ Сообщение об ошибке
¹ Имя хоста
¹ Запрос
common Файлы протоколов создаются в общем формате. В этом форматесоздают протоколы большая часть Web–серверов. К этомуформату могут применяться средства анализа протоколов другихфирм.
Записи файлов протокола доступа содержат следующие поля:
¹ Имя хоста
¹ Идентификатор хоста
¹ Пользователь
¹ Время
¹ Запрос
¹ Состояние запроса
¹ Число переданных байт
Записи файлов протокола ошибок содержат следующие поля:
¹ Время
¹ Сообщение об ошибке
¹ Имя хоста
¹ Запрос
extended Данная опция позволяет объединить файлы протоколов доступа,ссылок и браузеров. При этом вы можете выбрать информацию,включаемую в каждую запись. Если имя расширенного формата
Директивы файла конфигурации сервера 89
Ведение протоколов
не указано, каждая запись протокола будет включать все данныеобщего формата, а также информацию протоколов браузеров иссылок. Расширенный формат протокола доступа задаетсядирективой ExtendedLogFormat. Дополнительная информация одирективе ExtendedLogFormat приведена в разделе“ExtendedLogFormat – Расширенный формат протокола доступа” настр. 85. Расширенный формат протокола доступа не влияет насодержимое протоколов ошибок, ссылок и браузеров.
Дополнительная информация о ведении протоколов приведена в разделе“Настройка протоколов” на стр. 177.
Дополнительная информация об этой директиве приведена в электронной справкек форме Глобальные параметры ведения протоколов. Форма Глобальныепараметры ведения протоколов находится в подразделе Ведение протоколовраздела Конфигурации форм настройки и управления.
Пример
LogFormat DDS
Значение по умолчанию
LogFormat Common
Данная директива применяется следующей формой:
¹ Глобальные параметры ведения протоколов
LogTime – Время в файлах протоколов: по Гринвичу или местноеДанная директива выбирает время, указываемое в файлах протоколов: поГринвичу (GMT) или местное.
Формат
LogTime значение
значение
GMT Указывать в файлах протоколов время по Гринвичу.
LocalTime Указывать в файлах протоколов местное время.
Пример
LogTime GMT
Значение по умолчанию
LogTime LocalTime
Данная директива применяется следующей формой:
90 Руководство администратора IBM HTTP Server для AS/400 V4R4
Ведение протоколов
¹ Глобальные параметры ведения протоколов
NoLog – Не создавать записи протокола для указанных хостов и доменовДанная директива исключает из протокола доступа запросы от указанных хостов идоменов. Например, можно исключить запросы, полученные от локальных хостов.
Эта директива действует на следующие протоколы:
¹ Протокол доступа
¹ Протокол браузеров
¹ Протокол доступа к кэшу
¹ Протокол доступа к Proxy
¹ Протокол ссылок
Эта директива может быть указана в файле конфигурации несколько раз. В однойдирективе можно указать несколько шаблонов, разделенных пробелами. Шаблонможет сравниваться как с именем хоста, так и с его IP–адресом.
Примечание: Для работы с именами хостов в директиве DNS–Lookup должнобыть указано значение On. Если директива DNS–Lookup равна Off(значение по умолчанию), допустимы только шаблоны дляIP–адресов.
Дополнительная информация об этой директиве приведена в электронной справкек форме Протокол доступа. Форма Протокол доступа находится в подразделеВедение протоколов раздела Конфигурации форм настройки и управления.
Примеры
NoLog 204.146.*
NoLog *.edu
NoLog localhost.*
Данная директива применяется следующей формой:
¹ Протокол доступа
ProxyAccessLog – Путь к файлам протокола доступа к ProxyДополнительная информация о директиве ProxyAccessLog приведена в разделе“ProxyAccessLog – Путь к файлам протокола доступа к Proxy” на стр. 133.
RefererLog – Путь к файлам протокола ссылокДанная директива задает каталог, в котором будет создаваться протоколполученных запросов с информацией о Web–страницах, содержащих ссылки наваш сайт. По умолчанию сервер создает в этом протоколе запись для каждогополученного запроса. При этом каждой записи в протоколе доступа соответствуетодна запись в протоколе ссылок. Если запрос был отправлен не по ссылке сдругой Web–страницы, в записи будет указана пустая строка ("").
Директивы файла конфигурации сервера 91
Ведение протоколов
Если сервер запущен, то каждую полночь (по времени системы) он создает новыйфайл протокола ссылок. В противном случае сервер создает новый файлпротокола ссылок в момент запуска.
Если данной директивы нет в файле конфигурации, получаемые запросы незаносятся в протокол ссылок.
Дополнительная информация об этой директиве приведена в электронной справкек форме Протокол доступа. Форма Протокол доступа находится в подразделеВедение протоколов раздела Конфигурации форм настройки и управления.
Формат
RefererLog имя–файла [максимальный–размер]
имя–файлаДля размещения протокола в Интегрированной файловой системе укажите вэтом параметре существующий каталог IFS. Каталог должен быть созданперед первым запуском сервера. При запуске сервер создаст в нем файл суказанным именем.
Для любой файловой системы, кроме QDLS, вы можете указать каталог иоснову имени для файлов протокола ссылок. Пример: /http/logs/refererlog.
Сервер добавит к основе имени файла расширение в формате qсггммдд, где:
¹ с – столетие (0 – до 2000 года, 1 – после 2000 года),
¹ гг – год,
¹ мм – месяц,
¹ дд – день.
Для файловой системы QDLS вы можете указать каталог файлов протоколассылок. Пример: /QDLS/httplogs/refererlog/.
Сервер создаст имя файла в формате qсггммдд, где:
¹ с – столетие (0 – до 2000 года, 1 – после 2000 года),
¹ гг – год,
¹ мм – месяц,
¹ дд – день.
Примечание: К имени файла не добавляется никакое расширение.
Для файловой системы QSYS файл протокола ссылок может быть выбрандвумя способами:
1. При указании только имени файла протокола сервер создаст этот файл вбиблиотеке QUSRSYS. Пример: reflog.
2. Имя библиотеки может быть указано в формате имен IFS. Пример:/qsys.lib/httplogs.lib/reflog.file. Указанная библиотека должна
92 Руководство администратора IBM HTTP Server для AS/400 V4R4
существовать перед запуском сервера. Файл и элемент сервер создаетавтоматически.
максимальный–размерМаксимальный размер файла протокола, в килобайтах. Если указано значение0, размер файла протокола увеличивается до очередной обработкипротоколов в полночь. В это время сервер закрывает файл протокола за деньи открывает новый. Максимальный размер по умолчанию равен 2000килобайт. Этот параметр необязательный.
Примечание: При указании размера в килобайтах единицу измерения можноопустить. Если она не указана, размер считается в килобайтах.
Пример
RefererLog /logs/referer–log 4400
Примечание: Для файлов протокола, создаваемых в файловой системе QDLS,допустимо задание только каталога. Имя файла будет определенопо текущей дате, в том же формате, что и расширение в другихфайловых системах. У пользовательского профайла QTMHHTTPдолжны быть права доступа *RWX ко всем папкам указанногопути.
Данная директива применяется следующей формой:
¹ Протокол доступа
Создание отчетовСервер IBM HTTP Server может создавать отчеты двух типов: простые и обиспользовании ресурсов Web.
Простые отчеты создаются по запросу оператора на основании информациипротоколов доступа, браузеров и ссылок. Простые отчеты позволяют получитьследующую информацию:
¹ Имена хостов и IP–адреса посетителей вашего Web–сайта.
¹ Методы, запрошенные посетителями вашего Web–сайта.
¹ Коды возврата программ, запущенных Web–сервером.
¹ URL, запрошенные посетителями вашего Web–сайта.
Сервер IBM HTTP Server автоматически создает отчеты об использованииресурсов Web в указанное время. Отчеты создаются на основании информациипротоколов доступа, браузеров и ссылок. Отчеты об использовании ресурсов Webпозволяют получить следующую информацию о сеансах пользователей:
¹ Наиболее популярные внешние ссылки на ваш Web–сайт.
¹ Последовательности просмотра Web–страниц вашего сайта.
¹ Наиболее популярные группы страниц вашего Web–сайта.
Директивы файла конфигурации сервера 93
AccessReportDoDNSLookup – Показывать в отчетах имена хостов клиентовДанная директива позволяет включать в отчеты имена хостов пользователейвашего сайта. При создании отчета сервер IBM HTTP Server обращается ксерверу DNS для получения имен сразу всего списка хостов. Это болееэффективный способ, чем преобразование имен отдельно для каждогополученного запроса.
Пример
AccessReportDoDNSLookup On
Значение по умолчанию
AccessReportDoDNSLookup Off
Данная директива применяется следующей формой:
¹ Глобальные параметры отчета
AccessReportTemplate – Задать шаблон отчетаДанная директива задает шаблон отчета. Данная директива должны быть указанадо любой другой директивы, ссылающейся на шаблон отчета.
Формат
AccessReportTemplate имя–шаблона {
поддиректива значение
поддиректива значение
.
.
.
}
имя–шаблонаИмя шаблона отчета. Это имя не должно содержать пробелов.
поддиректива значениеПоддиректива задания шаблона отчета. Последним символом строки сдирективой AccessReportTemplate должна быть левая фигурная скобка.Каждая поддиректива должна быть указана на отдельной строке. Послепоследней поддирективы на отдельной строке должна быть указана праваяфигурная скобка. Комментарии между фигурными скобками не допускаются.
Пример
AccessReportTemplate Myreport {
AccessReportDescription Первые 50 файлов и пользователей
AccessReportTopList 50
}
Данная директива применяется следующими формами:
¹ Создать шаблон отчета
94 Руководство администратора IBM HTTP Server для AS/400 V4R4
¹ Изменить шаблон отчета
¹ Удалить шаблон отчета
AccessReportDescription – Показать описание созданногоотчетаПоддиректива AccessReportDescription добавляет в отчет его описание.
Пример
AccessReportDescription Первые 50 файлов и пользователей
AccessReportExcludeHostName – Исключить из отчета запросыот хостов с указанными именамиПоддиректива AccessReportExcludeHostName исключает из отчета запросы отхостов, имя или IP–адрес которых соответствует указанному шаблону.
Эта поддиректива может быть указана в шаблоне отчета несколько раз.
Примечание: Для работы с именами хостов в директиве DNS–Lookup должнобыть указано значение On. Если директива DNS–Lookup равна Off(значение по умолчанию), допустимы только шаблоны дляIP–адресов.
Пример
AccessReportExcludeHostName 9.85.*.*
AccessReportExcludeHostName *.edu
AccessReportExcludeMethod – Исключить из отчета запросы суказанным методомПоддиректива AccessReportExcludeMethod исключает из отчета запросы суказанным методом.
Эта поддиректива может быть указана в шаблоне отчета несколько раз.
Пример
AccessReportExcludeMethod GET
AccessReportExcludeMethod PUT
AccessReportExcludeMethod POST
AccessReportExcludeReturnCode – Исключить из отчетазапросы с указанными кодами возвратаПоддиректива AccessReportExcludeReturnCode исключает из отчета запросы, кодывозврата которых лежат в указанном диапазоне. Проверяемые коды возвратасоответствуют кодам состояний HTTP. В этой поддирективе невозможно указатьотдельный код возврата. Более того, указание, например, значения 300 исключаетвсе запросы с кодами возврата, означающими перенаправление: 301, 302, 303 и304. Для исключения этих запросов достаточно указать:AccessReportExcludeReturnCode 300.
Директивы файла конфигурации сервера 95
Эта поддиректива может быть указана в шаблоне отчета несколько раз.
Пример
AccessReportExcludeReturnCode 200
AccessReportExcludeReturnCode 400
AccessReportExcludeURL – Исключить из отчета запросы куказанным файлам и каталогамПоддиректива AccessReportExcludeURL исключает из отчета запросы к файлам икаталогам, соответствующим указанному шаблону. Например, можно исключитьзапросы к файлам с расширением .GIF или ко всем файлам определенногокаталога.
Эта поддиректива может быть указана в шаблоне отчета несколько раз.
Пример
AccessReportExcludeURL *.gif
AccessReportExcludeURL oldfiles*
AccessReportIncludeHostName – Включить в отчет толькозапросы от хостов с указанными именамиПоддиректива AccessReportIncludeHostName включает в отчет запросы от хостов,имя или IP–адрес которых соответствует указанному шаблону.
Для работы с именами хостов в директиве DNS–Lookup должно быть указанозначение On. Если директива DNS–Lookup равна Off (значение по умолчанию),допустимы только шаблоны для IP–адресов.
Эта поддиректива может быть указана в шаблоне отчета несколько раз.
Пример
AccessReportIncludeHostName 9.9.99.*
AccessReportIncludeHostName *.com
AccessReportIncludeURL – Включить в отчет только запросы куказанным файлам и каталогамПоддиректива AccessReportIncludeURL включает в отчет запросы к файлам икаталогам, соответствующим указанному шаблону. Например, можно включитьзапросы к файлам с расширением .HTML или ко всем файлам определенногокаталога.
Эта поддиректива может быть указана в шаблоне отчета несколько раз.
Пример
AccessReportIncludeURL /*.html
96 Руководство администратора IBM HTTP Server для AS/400 V4R4
AccessReportTopList – Число элементов, включаемых в отчетПоддиректива AccessReportTopList задает число первых элементов, включаемых вотчет.
Поддиректива AccessReportTopList может быть указана в одном из следующихформатов:
¹ Отчет должен включать первые число элементов, записи для которыхвстречаются в протоколе доступа наиболее часто. Указанное число должнобыть целым.
AccessReportTopList число
¹ Отчет должен включать все записи протокола доступа.
AccessReportTopList all
Пример
AccessReportTopList 10
Значение по умолчанию
AccessReportTopList 50
ReportProcessOldLogs – Проверять старые файлы в каталоге протоколадоступа
Данная директива указывает серверу проверять старые файлы протокола доступа,не перечисленные в списке файлов, обработанных для создания отчетов. Даннаядиректива позволяет выполнять над старыми файлами протокола доступаследующие действия:
¹ Добавлять данные старых файлов к существующим отчетам
¹ Создавать отчеты для всех файлов протокола доступа и заменять имисуществующие отчеты
¹ Создавать отчет по последнему файлу протокола доступа
Формат
ReportProcessOldLogs append | force | last
appendДобавлять к существующим отчетам данные файлов, не включенных в этиотчеты.
forceЗаменять существующие отчеты новыми, созданными на основе всехдоступных файлов протокола доступа.
Примечание: Файлы отчетов с именами access.ммггдддд удаляются толькопри помещении в архив в соответствии с параметрамидирективы ReportDataArchive.
Директивы файла конфигурации сервера 97
lastСоздавать отчет на основании данных последнего файла протокола доступа.
Значение по умолчанию
ReportProcessOldLogs append
Данная директива применяется следующей формой:
¹ Глобальные параметры отчета
ReportDataSizeLimit – Удалять файлы отчетов о доступе, когда их общийразмер превышает указанный
Данная директива указывает серверу удалять файлы отчетов о доступе, когда ихобщий размер превышает указанное значение.
Примечание: Для указания этой директивы необходимо также указать директивуReportDataArchive.
Формат
ReportDataSizeLimit размер–в–мегабайтах
размер–в–мегабайтахМаксимальный общий размер файлов отчета. При превышении этого размерафайлы удаляются начиная с самого старого, до тех пор, пока их общийразмер не уменьшится до указанного значения. Указанное число должно бытьцелым.
Данная директива действует после директивы ReportDataExpire.
Значение по умолчанию
ReportDataSizeLimit 0
Значение по умолчанию равно 0. При этом общий размер файлов отчета неограничен.
Данная директива применяется следующей формой:
¹ Глобальные параметры отчета
ReportDataArchive – Specify whether to remove existing access data filesЭта директива указывает, нужно ли удалять существующие файлы протоколадоступа. Если эти файлы должны быть удалены, то необходимо также задатьдирективу ReportDataExpire, описанную в разделе “ReportDataExpire – Удалятьфайлы протоколов доступа через указанное число дней” на стр. 99. Даже послеудаления файлов протокола, данные из этих файлов остаются доступными дляиспользования в отчетах, если не указана директива ReportProcessOldLogs сопцией принудительного удаления.
Данная директива может быть указана в одном из следующих форматов:
98 Руководство администратора IBM HTTP Server для AS/400 V4R4
ReportDataArchive purge
ReportDataArchive none
ReportDataArchive userexit
purgeФайлы протокола доступа будут удалены по истечении заданного срокахранения или когда их суммарный объем превысит заданное пороговоезначение.
ReportDataArchive none
noneФайлы протокола доступа не будут удаляться. Значение по умолчанию – none.
ReportDataArchive userexit путь–к–пользовательской–программе–выхода
[параметры программы выхода]
userexitЗадает путь к пользовательской программе выхода, которая будетавтоматически вызываться. При вызове программы сервер будет передаватьей путь к протоколу доступа. Вы также можете указать параметры,передаваемые этой программе.
none
Данная директива применяется следующей формой:
¹ Глобальные параметры отчета
ReportDataExpire – Удалять файлы протоколов доступа через указанноечисло дней
Данная директива позволяет установить режим удаления файлов протоколадоступа по истечении заданного срока (в днях). При использовании этойдирективы необходимо также указать директиву ReportDataArchive.
Для определения срока существования файла сервер использует дату созданияфайла, полученную от операционной системы. Сервер HTTP не применяетсуффикс имени файла, например, httpd–log.Mar221996, для определения срокахранения.
Формат
ReportDataExpire число–дней
число–днейУказывает, что при превышении данного срока хранения отчеты будутудалены. Число дней должно быть целым. Таким образом, указыватьдробные значения, такие как 1.5, нельзя.
Значение по умолчанию
Директивы файла конфигурации сервера 99
ReportDataExpire 0
Значение по умолчанию равно 0 – не удалять файлы по истечении срока хранения.
Данная директива применяется следующей формой:
¹ Глобальные параметры отчета
DoReporting – Задать время создания отчетовДанная директива позволяет указать, когда сервер HTTP будет создаватьпростые отчеты. Для работы этой директивы необходимо, чтобы ведениепротоколов было включено.
Формат
DoReporting значение [часов]
значение
on Сервер будет создавать простые отчеты.
off Сервер не будет создавать простые отчеты.
часовУкажите число часов после полуночи, по истечении которых сервер начнетформировать простые отчеты. Задайте значение от 0 до 23. Если вы укажетезначение 0, сервер будет создавать отчеты в полночь.
Пример
DoReporting On 2
Значение по умолчанию
DoReporting Off 0
Значение времени по умолчанию равно 0, отчеты создаются в полночь.
Данная директива применяется следующей формой:
¹ Глобальные параметры отчета
DoWebUsageMining – Время создания отчетов об использовании ресурсовWeb
Данная директива позволяет указать, когда сервер HTTP будет создавать отчетыоб использовании ресурсов Web. Для работы этой директивы необходимо, чтобыбыло включено ведение протоколов и создание отчетов.
Формат
DoWebUsageMiningзначение [часов–после–полуночи]
значение
100 Руководство администратора IBM HTTP Server для AS/400 V4R4
On Сервер будет создавать отчеты об использовании ресурсов Web.
Off Сервер не будет создавать отчеты об использовании ресурсовWeb.
часовУкажите число часов после полуночи, по истечении которых сервер начнетформировать отчеты об использовании ресурсов Web. Задайте значение от 0до 23. Если вы укажете значение 0, сервер будет создавать отчеты вполночь.
Пример
DoWebUsageMining On 4
Значение по умолчанию
DoWebUsageMining Off 0
Значение времени по умолчанию равно 0, отчеты создаются в полночь.
Данная директива применяется следующей формой:
¹ Глобальные параметры отчета
Мета–информация – Имена файлов и каталогов мета–информацииДирективы, описанные в этом разделе, позволяют управлять использованиеммета–информации сервером. Мета–информация для файла может передаватьсяпри обработке запроса на получение файла. Мета–информация описывает файл,содержащий документ, но не сами данные документа. Например, мета–информация для некоторого файла может включать дату его создания и датупоследнего изменения. Каждая строка файла мета–информации содержит полезаголовка, двоеточие и значение поля.
Пример:
Last–Modified: Tuesday, 31–Mar–98 12:34:56 GMT
Expires–by: Friday, 19–Jun–98 24:00:00 GMT
MIME–Version: 1.0
Content–Type: text/html
Content–Length: 2468
Примечание: Мета–информация поддерживается только в корневой файловойсистеме (/), а также в пользовательских файловых системах(UDFS) и файловой системе QOpenSys.
Для хранения мета–информации о документах, расположенных на сервере,может применяться специальный набор файлов. Сервер может передавать мета–информацию в ответах на запросы HTTP. Мета–информация может включатьлюбые заголовки, удовлетворяющие спецификации HTTP 1.1.
Протокол HTTP поддерживает заголовки MIME. Поля заголовков MIME могутсодержать следующую информацию:
Директивы файла конфигурации сервера 101
¹ тип файла
¹ подтип файла
¹ кодировка
¹ длина файла
MetaDir – Имя подкаталога для файлов мета–информацииЭта директива позволяет указать имена подкаталогов, в которых будут хранитьсяфайлы мета–информации. Директиву можно указывать только один раз – этоозначает, что все подкаталоги мета–информации будут называться одинаково.Эти подкаталоги будут создаваться в каталогах, содержащих описываемыефайлами мета–информации документы.
В любом каталоге, из которого сервер получает файлы, может находитьсяподкаталог с именем, заданным данной директивой. Файлы, расположенные втаком подкаталоге, могут содержать мета–информацию о получаемом файле.Файлы мета–информации о документе имеют то же имя и расширение, как иисходный файл, плюс дополнительное расширение. Дополнительное расширениеуказывается директивой MetaSuffix.
Предположим, что в файле конфигурации вашего сервера указаны две директивы:
MetaDir look_here
MetaSuffix .file_desc
Сервер считывает следующий документ:
/html/ultracool/ultraindex.html
После этого сервер выполнит поиск мета–информации для этого документа вследующем файле:
/html/ultracool/look_here/ultraindex.html.file_desc
Пример
MetaDir mimeinfo
Значение по умолчанию
MetaDir .web
Примечание: Точка (.) в начале значения по умолчанию является частью имениподкаталога. Каталог с таким именем будет скрыт отпользователя. Если вы хотите задать каталог, который не будетскрытым, укажите имя без точки перед ним. Пример:
MetaDir web
Данная директива применяется следующей формой:
¹ Мета–информация
102 Руководство администратора IBM HTTP Server для AS/400 V4R4
MetaSuffix – Расширение файлов мета–информацииЭта директива позволяет указать суффикс для файлов, в которых хранится мета–информация. Эту директиву можно указывать только один раз – это означает, чтовсе файлы мета–информации будут иметь одинаковое расширение. В значениидирективы обязательно должна присутствовать точка (.).
Для каждого файла, считываемого сервером, может существовать связанныйфайл мета–информации. Имя файла мета–информации совпадает с именем ирасширением файла, который он описывает, и дополнительного расширения,задаваемого директивой MetaSuffix. Задаваемый этой директивой суффиксявляется расширением полного имени файла мета–информации. Файл мета–информации должен располагаться в подкаталоге каталога, в которомрасположен описываемый файл. Имя подкаталога задается директивой MetaDir.
Пример совместной работы директив MetaDir и MetaSuffix приведен в описаниидирективы MetaDir выше.
Пример
MetaSuffix .head
Примечание: В некоторых файловых системах каталоги, имена которыхначинаются с точки, считаются скрытыми. Если вы хотите задатькаталог, который не будет скрытым, укажите имя без точки передним. Например, вы можете указать в файле конфигурацииследующую директиву MetaSuffix:
MetaSuffix web
Значение по умолчанию
MetaSuffix .meta
Примечание: Точка (.) в начале значения по умолчанию является частью имениподкаталога.
Данная директива применяется следующей формой:
¹ Мета–информация
UseMetaFiles – Применять мета–файлыЭта директива указывает, будет ли сервер использовать файлы мета–информации. Для повышения производительности сервера использование файловмета–информации можно отключить.
Формат этой директивы следующий:
UseMetaFiles значение
Для значения может быть указано on или off:
on Сервер всегда будет использовать файлы мета–информации.
off Сервер не будет использовать файлы мета–информации.
Директивы файла конфигурации сервера 103
Управление доступом
Пример
UseMetaFiles on
Значение по умолчанию
UseMetaFiles off
Данная директива применяется следующей формой:
¹ Мета–информация
¹ Параметры производительности
Защита – Настройка управления доступом к серверуДирективы, описанные в этом разделе, позволяют управлять доступом к ресурсамвашего сервера.
Существует два способа настройки защиты:
¹ С помощью встроенных определений конфигурации защиты
¹ С помощью конфигурации защиты, определенной директивами Protection
Защита устанавливается для групп файлов, выбираемых на основе запросов,которые поступают на доступ к этим файлам. Запросы, на которых основываетсясхема защиты, определяются директивой Protect.
Конфигурация защиты задается непосредственно в файле конфигурации сервера.В этом файле можно задать именованные схемы защиты с помощью директивыProtection. Кроме этого, конфигурация защиты может быть указананепосредственно с помощью директивы Protect.
Для создания и изменения файла, содержащего список управления доступом(ACL), сервер должен обладать правами записи в этот файл.
В данном разделе также рассматриваются поддирективы, применяемые длянастройки защиты.
Подробные инструкции по настройке защиты сервера приведены в разделе“Защита сервера” на стр. 187.
Protect – Включить защиту для указанных запросовЭта директива применяется для установки правил защиты, которые действуют наоснове сравнения запроса с шаблоном.
Внимание: Для нормальной работы системы защиты директивы Protect и Pro–tection должны располагаться в файле конфигурации до директив Pass и Exec.Кроме того, они должны располагаться перед теми директивами, в которых будетприменяться описываемая конфигурация защиты. Например, если вынастраиваете proxy–сервер и хотите установить защиту для него, директивы
104 Руководство администратора IBM HTTP Server для AS/400 V4R4
Управление доступом
Protect и Protection должны находиться в файле конфигурации непосредственноперед директивой Proxy http:*.
Формат директив зависит от того, как они будут применяться. Директива Protectиспользуется в следующих целях:
¹ В качестве ссылки на метку, идентифицирующую набор поддиректив защиты.
¹ Для включения набора поддиректив защиты в единую директиву Protect.
От способа использования директивы Protect зависит ее формат.
Если вы хотите создать ссылку на метку, применяется следующий формат:
Protect шаблон–запроса[метка [FOR шаблон–IP–адреса]]]
Если вы хотите включить набор поддиректив защиты в единую директиву Protect,применяется следующий формат:
Protect
шаблон–запроса[шаблон–IP–адреса]] {
поддиректива значение
поддиректива значение
.
.
.
}
шаблон–запросаШаблон запросов, на которые будут распространяться правила защиты.Сервер сравнивает поступивший запрос клиента с шаблоном, и в случаесоответствия применяет правила защиты.
меткаЕсли директива указывает на метку, то данный параметр идентифицируетконфигурацию защиты, которая будет использоваться для запросов,соответствующих заданному шаблону–запроса.
Этот параметр необязательный. Конфигурация защиты задается с помощьюподдиректив защиты. Описание этих поддиректив приведено в разделе“Поддирективы защиты” на стр. 109. Если этот параметр присутствует, онуказывается в следующей форме:
¹ Имя метки конфигурации защиты, определенной ранее с помощьюдирективы Protection. Директива Protection определяет наборподдиректив защиты.
поддиректива значениеЭти параметры применяются в случае, если вы хотите включить наборподдиректив защиты в единую директиву Protect. Открывающаяся фигурнаяскобка должна быть последним символом на строке с директивой Protect.Каждая поддиректива должна быть указана на отдельной строке. Правая
Директивы файла конфигурации сервера 105
Управление доступом
фигурная скобка должна располагаться на отдельной строке после строки споследней поддирективой.
Комментарии между фигурными скобками не допускаются.
Описание этих поддиректив приведено в разделе “Поддирективы защиты” настр. 109.
FOR шаблон–IP–адресаЕсли Web–сервер подключен к нескольким интерфейсам, этот параметрпозволяет указать шаблон IP–адресов этих интерфейсов. Сервер применяеткаждую директиву только к запросам, приходящим по указанныминтерфейсам. Заметьте, что в директиве должен быть указан шаблон дляадреса интерфейса, по которому получен шаблон, а не для адреса клиента,который его отправил.
Вы можете указать полный IP–адрес интерфейса (например, 204.146.167.72).
Этот параметр необязательный. Без указания шаблона IP–адреса сервербудет применять директиву ко всем запросам, независимо от интерфейса, покоторому они получены.
Примечание: Этот параметр применяется совместно с меткой илизначениями поддиректив.
Пример
Protection DEF–PROT {
UserID BUSYBODY
AuthType Basic
ServerID restricted
PasswdFile QUSRSYS/restrict
GroupFile /docs/WWW/restrict.grp
GetMask authors
}
Protect /secret/business/* DEF–PROT
Protect /topsecret/* {
AuthType Basic
ServerID restricted
PasswdFile QUSRSYS/TOPBRASS
GroupFile /docs/WWW/restrict.grp
GetMask topbrass
UserID ANYBODY
}
Pass /secret/scoop/* /WWW/restricted/*
Pass /secret/business/* /WWW/confidential/*
Pass /topsecret/* /WWW/topsecret/*
В приведенном выше примере активация защиты будет происходить следующимобразом:
¹ Защита будет активирована для запросов, начинающихся с /secret/business/.Конфигурация защиты задается в директиве Protection с меткой DEF–PROT.
106 Руководство администратора IBM HTTP Server для AS/400 V4R4
Управление доступом
Сервер будет применять пользовательский профайл busybody, как это указанов конфигурации защиты DEF–PROT.
¹ Защита будет также включена для запросов, начинающихся с /topsecret/.Конфигурация защиты для этих запросов указана непосредственно вдирективе Protect. По умолчанию применяется пользовательский профайлANYBODY. (Профайл ANYBODY устанавливается директивой UserID в началепримера.)
Примечание: Пользовательский профайл ANYBODY должен существовать, исервер должен обладать правами на работу с этимпрофайлом.
Protect /secret/* CustomerA–PROT Webname 204.146.167.72
Protect /secret/* CustomerB–PROT Webname 9.67.12.4
Protect /topsecret/* Webname 204.146.167.72 {
AuthType Basic
ServerID restricted
PasswdFile QUSRSYS/CUSTOMERA
GroupFile /docs/WWW/customer–A.grp
GetMask A–brass
}
Protect /topsecret/* Webname 9.67.12.4 {
AuthType Basic
ServerID restricted
PasswdFile QUSRSYS/CUSTOMERB
GroupFile /docs/WWW/customer–B.grp
GetMask B–brass
}
В этом примере используется необязательный параметр шаблона IP–адреса. Приполучении запросов, начинающихся с /secret/ и /topsecret/, сервер будетактивировать различные конфигурации защиты в зависимости от IP–адреса, накоторый поступил запрос.
Для запросов к /secret/, поступающих по адресу 204.146.167.72, сервер будетприменять конфигурацию, указанную в директиве Protection с меткойCustomerA–PROT. Для запросов к /topsecret/, поступающих по адресу204.146.167.72, сервер будет применять конфигурацию, указанную в первойдирективе Protect для /topsecret/.
Для запросов к /secret/, поступающих по адресу 9.67.12.4, сервер будет применятьконфигурацию, заданную директивой Protection с меткой CustomerB–PROT.Наконец, для запросов к /topsecret/, поступающих по адресам, которыеначинаются с 9.67, сервер будет применять конфигурацию, указанную во второйдирективе Protect для /topsecret/.
Данная директива применяется следующей формой:
¹ Защита документов
Директивы файла конфигурации сервера 107
Управление доступом
Protection – Задать в файле конфигурации сервера конфигурацию защитыЭта директива позволяет задать конфигурацию защиты в файле конфигурациисервера. Конфигурации защиты присваивается имя, а тип защиты определяется спомощью поддиректив.
Примечание: Директивы Protection должны располагаться в файле конфигурациисервера до директив Protect, которые ссылаются на них.
Внимание: Для нормальной работы системы защиты директивы Protect и Pro–tection должны располагаться в файле конфигурации до директив Pass и Exec.Кроме того, они должны располагаться перед теми директивами, в которых будетприменяться описываемая конфигурация защиты. Например, если вынастраиваете proxy–сервер и хотите установить защиту для него, директивы Pro–tection и protect должны находиться в файле конфигурации непосредственно переддирективой Proxy http:*.
Формат этой директивы следующий:
Protection имя–метки {
поддиректива значение
поддиректива значение
.
.
.
}
имя–меткиИмя, идентифицирующее данную конфигурацию защиты. Это имя можетприменяться в последующих командах Protect в качестве ссылки на даннуюконфигурацию.
поддиректива значениеПоддирективы защиты и их значения должны располагаться на отдельныхстроках между левой и правой фигурными скобками директивы Protection.Комментарии между фигурными скобками не допускаются.
Описание этих поддиректив приведено в разделе “Поддирективы защиты” настр. 109.
Пример
Protection NAME–ME {
AuthType Basic
ServerID restricted
PasswdFile QUSRSYS/PASSWORD
GroupFile /WWW/group.grp
GetMask groupname
}
Данная директива применяется следующими формами:
¹ Защита документов
108 Руководство администратора IBM HTTP Server для AS/400 V4R4
Управление доступом
Поддирективы защитыНиже приведены описания поддиректив защиты, которые могут применяться дляопределения конфигурации защиты сервера. Поддирективы приведены валфавитном порядке. Схемы защиты присутствуют в файле конфигурации в видечастей директив Protect и Protection.
Примечание: В конфигурации защиты должна быть указана поддиректива Mask,GetMask, PutMask, DeleteMask или PostMask.
Примеры определения конфигурации защиты приведены в разделе “Примерзащиты” на стр. 210 и в описаниях директив Protect и Protection, указанных выше.
Пример
Protection /topsecret/* {
AuthType None
Mask All
CommonName "Dr. Sheila A. Jones"
Organization "RTP Quick Care Center"
}
ACLOverride – Включить переопределение конфигурациизащиты файлами ACLУкажите эту поддирективу со значением On, если вы хотите, чтобы маски,указанные в конфигурации защиты, были переопределены файлами со спискамиуправления доступом (ACL). Если в каталоге, файлы которого защищены даннойконфигурацией, есть файл ACL, то поддирективы масок будут проигнорированы.(Поддирективы масок – это GetMask, Mask и PostMask.)
Дополнительная информация о файлах ACL приведена в разделе “Работа сфайлами списков управления доступом (ACL)” на стр. 208.
Пример
ACLOverride On
Значение по умолчанию
ACLOverride Off
Эта поддиректива применяется следующими формами:
¹ Настройка защиты
¹ Настройка защиты (SSL)
AuthType – Указать тип идентификацииЭта директива позволяет указать тип идентификации, который будетиспользоваться сервером для проверки прав доступа клиентов.
Данная поддиректива является одной из директив, применяемых для настройкиидентификации клиента сервером по протоколу Secure Sockets Layer (SSL).
Директивы файла конфигурации сервера 109
Управление доступом
Дополнительная информация об использовании SSL с сервером приведена вразделе “Применение протокола Secure Sockets Layer (SSL)” на стр. 223.
Формат
AuthType [Basic | Cert | Cert_Or_Basic]
BasicЭтот тип идентификации устанавливает режим защиты ресурсов сервера сиспользованием идентификаторов пользователей и паролей. Серверзапрашивает имя пользователя и пароль при первом обращении кзащищенному ресурсу. Этот тип идентификации может применяться дляорганизации защищенных и незащищенных сеансов HTTP. В незащищенныхсеансах HTTP идентификатор пользователя и пароль кодируются, но нешифруются.
Cert
Этот тип идентификации устанавливает режим защиты ресурсов сервера сиспользованием клиентских сертификатов SSL, связанных спользовательскими профайлами AS/400 или контрольными списками. Длянастройки этого типа идентификации необходимо выполнить следующиедействия:
¹ Настроить сервер для идентификации клиентов по протоколу SSL.
¹ Запросы к ресурсам должны передаваться клиентами по протоколуЗащищенный HTTP (HTTPS)
¹ У клиентов должны быть допустимые сертификаты.
¹ Сертификаты клиентов должны быть связаны с профайламипользователей AS/400 или с контрольными списками, перечисленными вдирективе PasswdFile. Дополнительная информация о директивеPasswdFile приведена в разделе “PasswdFile – Указать расположениесвязанных пользователей” на стр. 118.
Вы можете ограничить доступ к ресурсам сервера на основе сертификатовклиентов, либо с помощью информации отличительного имени (DN).Дополнительная информация об идентификации клиентов SSL приведена вразделе “Применение протокола Secure Sockets Layer (SSL)” на стр. 223.
Cert_Or_BasicЭтот тип идентификации является наиболее гибким решением, совмещающимвозможности типов Basic и Cert. При работе в этом режиме сервер сначалапробует выполнить запрос клиента, применяя правила идентификации Cert,описанные выше. Если идентификация типа Cert по какой–либо причиненевозможна, сервер пытается выполнить идентификацию типа Basic. Если уклиента нет допустимого или зарегистрированного сертификата, он попрежнему может получить доступ к ресурсам с помощью идентификатора ипароля.
110 Руководство администратора IBM HTTP Server для AS/400 V4R4
Управление доступом
Если вы не укажете тип идентификации, сервер будет применять защиту ресурсовна основе допустимых сертификатов SSL или сертификатов с конкретнымиотличительными именами (DN). Дополнительная информация об идентификацииклиентов SSL приведена в разделе “Идентификация клиентов по протоколу SSL”на стр. 227.
При использовании типа идентификации Cert_or_Basic сервер будет запрашиватьимя пользователя и пароль в следующих случаях:
¹ Если вы укажете режим Cert_or_Basic, но не включите SSL, сервер всегдабудет запрашивать ИД пользователя и пароль. В этом случае типидентификации Cert_or_Basic идентичен типу Basic.
¹ Если вы укажете режим Cert_or_Basic и включите SSL, но у клиента не будетдопустимого сертификата, сервер спросит ИД пользователя и пароль. Этотакже произойдет в том случае, если сервер не запрашивает сертификатклиента из–за того, что в файле конфигурации не указана директиваSSLClientAuth.
¹ Если вы укажете режим Cert_or_Basic, а полученный сертификат не будетсвязан с пользовательским профайлом или контрольным списком, серверспросит ИД пользователя и пароль.
Пример
AuthType Basic
Эта поддиректива применяется следующими формами:
¹ Настройка защиты
CommonName – Имя клиентаЭта поддиректива позволяет задать имя клиента для информации оботличительном имени (DN), находящейся в сертификате клиента.
Сервер должен быть настроен для идентификации клиентов по SSL, кроме того,запросы от клиента должны передаваться по протоколу HTTPS (HTTP + SSL).Сервер проверяет сертификат путем сравнения параметра CommonName всертификате и на сервере. Для получения доступа имена должны полностьюсовпадать. В данном значении учитывается регистр и пунктуация; использованиесимволов подстановки недопустимо. Значения, содержащие пробелы, должныуказываться в двойных кавычках (" "), которые не учитываются при сравнении. Выможете также ограничить доступ с помощью проверки допустимостисертификатов или путем связывания сертификата с пользовательским профайломAS/400 или с контрольным списком. Дополнительная информация обидентификации клиентов SSL приведена в разделе “Применение протокола SecureSockets Layer (SSL)” на стр. 223.
Пример
CommonName "Ellen Kathryn"
Директивы файла конфигурации сервера 111
Управление доступом
Данная поддиректива применяется следующими формами:
¹ Настройка защиты (SSL)
Country – Страна, в которой расположен клиентЭта поддиректива позволяет задать страну, в которой находится клиент, дляинформации об отличительном имени (DN), находящейся в сертификате клиента.
Сервер должен быть настроен для идентификации клиентов по SSL, кроме того,запросы от клиента должны передаваться по протоколу HTTPS (HTTP + SSL).Сервер проверяет сертификат путем сравнения параметра Country в сертификатеи на сервере. Для получения доступа имена должны полностью совпадать. Вданном значении учитывается регистр и пунктуация; использование символовподстановки недопустимо. Значения, содержащие пробелы, должны указыватьсяв двойных кавычках (" "), которые не учитываются при сравнении. Вы можететакже ограничить доступ с помощью проверки допустимости сертификатов илипутем связывания сертификата с пользовательским профайлом AS/400 или сконтрольным списком. Дополнительная информация об идентификации клиентовSSL приведена в разделе “Применение протокола Secure Sockets Layer (SSL)” настр. 223.
Пример
Country "Russia"
Данная поддиректива применяется следующими формами:
¹ Настройка защиты (SSL)
DeleteMask – Указать имена пользователей, группы и адреса,которым разрешено удалять файлыЭта директива позволяет задать имена пользователей, группы и адреса, которымразрешено передавать запросы на удаление (DELETE) при работе сзащищенными каталогами.
Пример
DeleteMask authors,(niceguy,goodie)@96.96.3.1,128.141.*.*
Данная поддиректива применяется следующими формами:
¹ Настройка защиты
GetMask – Указать имена пользователей, группы и адреса,которым разрешено получать файлыЭта директива позволяет задать имена пользователей, группы и адреса, которымразрешено передавать запросы на получение файлов (GET) при работе сзащищенными каталогами. Специальное значение all@(*) разрешает доступ всемклиентам в рамках, установленных поддирективой PasswdFile. Дополнительнаяинформация приведена в разделе “Правила указания имен пользователей, групп ишаблонов адресов” на стр. 201.
112 Руководство администратора IBM HTTP Server для AS/400 V4R4
Управление доступом
Пример
GetMask authors,(niceguy,goodie)@96.96.3.1,128.141.*.*
Данная поддиректива применяется следующими формами:
¹ Настройка защиты
GroupFile – Указать расположение связанного файла группЭта поддиректива позволяет задать каталог и имя файла групп сервера, которыйбудет применяться в данной конфигурации защиты. После этого группыпользователей сервера могут применяться:
¹ Во всех поддирективах установки масок, входящих в конфигурацию защиты.
¹ Во всех списках прав доступа для каталогов, защищенных даннойконфигурацией.
Дополнительная информация о файлах групп приведена в разделе “Работа сфайлами групп сервера” на стр. 207.
Пример
GroupFile /docs/etc/WWW/restrict.group
Данная поддиректива применяется следующими формами:
¹ Настройка защиты
IssuerCommonName – Имя сертификатной компании (CA)Эта поддиректива позволяет задать имя CA, выдавшей сертификат клиента.
Сервер должен быть настроен для идентификации клиентов по SSL, кроме того,запросы от клиента должны передаваться по протоколу HTTPS (HTTP + SSL).Сервер проверяет сертификат путем сравнения параметра IssuerCommonName всертификате и на сервере. Для получения доступа имена должны полностьюсовпадать. В данном значении учитывается регистр и пунктуация; использованиесимволов подстановки недопустимо. Значения, содержащие пробелы, должныуказываться в двойных кавычках (" "), которые не учитываются при сравнении. Выможете также ограничить доступ с помощью проверки допустимостисертификатов или путем связывания сертификата с пользовательским профайломAS/400 или с контрольным списком. Дополнительная информация обидентификации клиентов SSL приведена в разделе “Применение протокола SecureSockets Layer (SSL)” на стр. 223.
Пример
IssuerCommonName "Kevin Carl"
Данная поддиректива применяется следующими формами:
¹ Настройка защиты (SSL)
Директивы файла конфигурации сервера 113
Управление доступом
IssuerCountry – Страна, в которой расположена CAЭта поддиректива позволяет задать страну, в которой расположена CA, выдавшаясертификат клиента.
Сервер должен быть настроен для идентификации клиентов по SSL, кроме того,запросы от клиента должны передаваться по протоколу HTTPS (HTTP + SSL).Сервер проверяет сертификат путем сравнения параметра IssuerCountry всертификате и на сервере. Для получения доступа имена должны полностьюсовпадать. В данном значении учитывается регистр и пунктуация; использованиесимволов подстановки недопустимо. Значения, содержащие пробелы, должныуказываться в двойных кавычках (" "), которые не учитываются при сравнении. Выможете также ограничить доступ с помощью проверки допустимостисертификатов или путем связывания сертификата с пользовательским профайломAS/400 или с контрольным списком. Дополнительная информация обидентификации клиентов SSL приведена в разделе “Применение протокола SecureSockets Layer (SSL)” на стр. 223.
Пример
IssuerCountry "Finland"
Данная поддиректива применяется следующими формами:
¹ Настройка защиты (SSL)
IssuerLocality – Населенный пункт, в котором расположена CAЭта поддиректива позволяет указать населенный пункт, в котором расположенаCA, выдавшая сертификат клиента.
Сервер должен быть настроен для идентификации клиентов по SSL, кроме того,запросы от клиента должны передаваться по протоколу HTTPS (HTTP + SSL).Сервер проверяет сертификат путем сравнения параметра IssuerLocality всертификате и на сервере. Для получения доступа имена должны полностьюсовпадать. В данном значении учитывается регистр и пунктуация; использованиесимволов подстановки недопустимо. Значения, содержащие пробелы, должныуказываться в двойных кавычках (" "), которые не учитываются при сравнении. Выможете также ограничить доступ с помощью проверки допустимостисертификатов или путем связывания сертификата с пользовательским профайломAS/400 или с контрольным списком. Дополнительная информация обидентификации клиентов SSL приведена в разделе “Применение протокола SecureSockets Layer (SSL)” на стр. 223.
Пример
IssuerLocality "Northern Fjords"
Данная поддиректива применяется следующими формами:
¹ Настройка защиты (SSL)
114 Руководство администратора IBM HTTP Server для AS/400 V4R4
Управление доступом
IssuerOrganization – Организация CAЭта поддиректива позволяет задать организацию CA, выдавшую сертификатклиента.
Сервер должен быть настроен для идентификации клиентов по SSL, кроме того,запросы от клиента должны передаваться по протоколу HTTPS (HTTP + SSL).Сервер проверяет сертификат путем сравнения параметра IssuerOrganization всертификате и на сервере. Для получения доступа имена должны полностьюсовпадать. В данном значении учитывается регистр и пунктуация; использованиесимволов подстановки недопустимо. Значения, содержащие пробелы, должныуказываться в двойных кавычках (" "), которые не учитываются при сравнении. Выможете также ограничить доступ с помощью проверки допустимостисертификатов или путем связывания сертификата с пользовательским профайломAS/400 или с контрольным списком. Дополнительная информация обидентификации клиентов SSL приведена в разделе “Применение протокола SecureSockets Layer (SSL)” на стр. 223.
Пример
IssuerOrganization "Superslakers, Ltd."
Данная поддиректива применяется следующими формами:
¹ Настройка защиты (SSL)
IssuerOrgUnit – Отдел CAЭта поддиректива позволяет задать отдел организации CA, выдавшей сертификатклиента.
Сервер должен быть настроен для идентификации клиентов по SSL, кроме того,запросы от клиента должны передаваться по протоколу HTTPS (HTTP + SSL).Сервер проверяет сертификат путем сравнения параметра IssuerOrgUnit всертификате и на сервере. Для получения доступа имена должны полностьюсовпадать. В данном значении учитывается регистр и пунктуация; использованиесимволов подстановки недопустимо. Значения, содержащие пробелы, должныуказываться в двойных кавычках (" "), которые не учитываются при сравнении. Выможете также ограничить доступ с помощью проверки допустимостисертификатов или путем связывания сертификата с пользовательским профайломAS/400 или с контрольным списком. Дополнительная информация обидентификации клиентов SSL приведена в разделе “Применение протокола SecureSockets Layer (SSL)” на стр. 223.
Пример
IssuerOrgUnit "User Technologies"
Данная поддиректива применяется следующими формами:
¹ Настройка защиты (SSL)
Директивы файла конфигурации сервера 115
Управление доступом
IssuerStateOrProvince – Область, в которой расположена CAЭта поддиректива позволяет задать область, в которой расположена CA,выдавшая сертификат клиента.
Сервер должен быть настроен для идентификации клиентов по SSL, кроме того,запросы от клиента должны передаваться по протоколу HTTPS (HTTP + SSL).Сервер проверяет сертификат путем сравнения параметра IssuerStateOrProvince всертификате и на сервере. Для получения доступа имена должны полностьюсовпадать. В данном значении учитывается регистр и пунктуация; использованиесимволов подстановки недопустимо. Значения, содержащие пробелы, должныуказываться в двойных кавычках (" "), которые не учитываются при сравнении. Выможете также ограничить доступ с помощью проверки допустимостисертификатов или путем связывания сертификата с пользовательским профайломAS/400 или с контрольным списком. Дополнительная информация обидентификации клиентов SSL приведена в разделе “Применение протокола SecureSockets Layer (SSL)” на стр. 223.
Пример
IssuerStateOrProvince "Camelot"
Данная поддиректива применяется следующими формами:
¹ Настройка защиты (SSL)
Locality – Населенный пункт, в котором расположен клиентЭта поддиректива позволяет задать населенный пункт, в котором находитсяклиент, для информации об отличительном имени (DN), находящейся всертификате клиента.
Сервер должен быть настроен для идентификации клиентов по SSL, кроме того,запросы от клиента должны передаваться по протоколу HTTPS (HTTP + SSL).Сервер проверяет сертификат путем сравнения параметра Locality в сертификатеи на сервере. Для получения доступа имена должны полностью совпадать. Вданном значении учитывается регистр и пунктуация; использование символовподстановки недопустимо. Значения, содержащие пробелы, должны указыватьсяв двойных кавычках (" "), которые не учитываются при сравнении. Вы можететакже ограничить доступ с помощью проверки допустимости сертификатов илипутем связывания сертификата с пользовательским профайлом AS/400 или сконтрольным списком. Дополнительная информация об идентификации клиентовSSL приведена в разделе “Применение протокола Secure Sockets Layer (SSL)” настр. 223.
Пример
Locality "Rhine Valley"
Данная поддиректива применяется следующими формами:
¹ Настройка защиты (SSL)
116 Руководство администратора IBM HTTP Server для AS/400 V4R4
Управление доступом
Mask – Указать имена пользователей, группы и адреса,которым разрешено передавать запросы HTTPЭта поддиректива позволяет задать имена пользователей, группы и адреса,которым разрешено передавать запросы HTTP, не описанные другимиподдирективами работы с масками. Специальное значение all@(*) разрешаетдоступ всем клиентам в рамках, установленных поддирективой PasswdFile.Дополнительная информация приведена в разделе “Правила указания именпользователей, групп и шаблонов адресов” на стр. 201.
Примечание: Учтите, что в директиве Mask различается регистр символов. Есливы укажете значение %%SYSTEM%% (как в поддирективеPasswdFile), то все символы должны быть введены в верхнемрегистре; кроме того, имена пользователей также должнывводиться заглавными буквами. Ниже приведен пример директивыMask, использующей ИД пользователей:
Пример
Mask WEBUSERA,WEBUSERB
Данная поддиректива применяется следующими формами:
¹ Настройка защиты
Organization – Организация клиентаЭта поддиректива позволяет задать организацию клиента для информации оботличительном имени (DN), находящейся в сертификате клиента.
Сервер должен быть настроен для идентификации клиентов по SSL, кроме того,запросы от клиента должны передаваться по протоколу HTTPS (HTTP + SSL).Сервер проверяет сертификат путем сравнения параметра Organization всертификате и на сервере. Для получения доступа имена должны полностьюсовпадать. В данном значении учитывается регистр и пунктуация; использованиесимволов подстановки недопустимо. Значения, содержащие пробелы, должныуказываться в двойных кавычках (" "), которые не учитываются при сравнении. Выможете также ограничить доступ с помощью проверки допустимостисертификатов или путем связывания сертификата с пользовательским профайломAS/400 или с контрольным списком. Дополнительная информация обидентификации клиентов SSL приведена в разделе “Применение протокола SecureSockets Layer (SSL)” на стр. 223.
Пример
Organization "Chop–Chop, Inc."
Данная поддиректива применяется следующими формами:
¹ Настройка защиты (SSL)
Директивы файла конфигурации сервера 117
Управление доступом
OrgUnit – Отдел организации клиентаЭта поддиректива позволяет указать отдел организации для информации оботличительном имени (DN), находящейся в сертификате клиента.
Сервер должен быть настроен для идентификации клиентов по SSL, кроме того,запросы от клиента должны передаваться по протоколу HTTPS (HTTP + SSL).Сервер проверяет сертификат путем сравнения параметра OrgUnit в сертификатеи на сервере. Для получения доступа имена должны полностью совпадать. Вданном значении учитывается регистр и пунктуация; использование символовподстановки недопустимо. Значения, содержащие пробелы, должны указыватьсяв двойных кавычках (" "), которые не учитываются при сравнении. Вы можететакже ограничить доступ с помощью проверки допустимости сертификатов илипутем связывания сертификата с пользовательским профайлом AS/400 или сконтрольным списком. Дополнительная информация об идентификации клиентовSSL приведена в разделе “Применение протокола Secure Sockets Layer (SSL)” настр. 223.
Пример
OrgUnit "Information Development"
Данная поддиректива применяется следующими формами:
¹ Настройка защиты (SSL)
PasswdFile – Указать расположение связанных пользователейЭта поддиректива позволяет указать, являются ли идентификаторыпользователей, связанные с конфигурацией защиты, пользовательскимипрофайлами AS/400 или элементами одного или нескольких контрольных списков.В системе AS/400 список идентификации – это объект типа *VLDL, в которомхранятся имена и пароли, применяемые для управления правами доступа.Контрольные списки хранятся в библиотеках AS/400; в записях этих списковучитывается регистр символов. Вы можете указать несколько контрольныхсписков, разделив их запятой (,).
Директиву PasswdFile можно применять одним из следующих способов:
¹ Укажите имя библиотеки, где расположен контрольный список, который будетприменяться данной конфигурацией защиты.
имя–библиотеки/имя–контрольного–списка
¹ Укажите %%SYSTEM%%, чтобы для проверки пользовательских идентификаторов ипаролей применялись пользовательские профайлы AS/400.
¹ Укажите %%LDAP:<имя–конфигурации>%%, чтобы пользовательскиеидентификаторы и пароли проверялись средствами сервера LDAP, заданногодирективой LDAPInfo. Дополнительная информация приведена в разделе“LDAPInfo – Задать конфигурацию LDAP” на стр. 59.
Пример
PasswdFile %%SYSTEM%%
118 Руководство администратора IBM HTTP Server для AS/400 V4R4
Управление доступом
Данная поддиректива применяется следующими формами:
¹ Настройка защиты
PostMask – Указать имена пользователей, группы и адреса,которым разрешена операция PostЭта директива позволяет задать имена пользователей, группы и адреса, которымразрешено передавать запросы POST при работе с защищенными каталогами.Специальное значение all@(*) разрешает доступ всем клиентам в рамках,установленных поддирективой PasswdFile. Дополнительная информацияприведена в разделе “Правила указания имен пользователей, групп и шаблоновадресов” на стр. 201.
Пример
PostMask [email protected].*
Данная поддиректива применяется следующими формами:
¹ Настройка защиты
PutMask – Указать имена пользователей, группы и адреса,которым разрешено передавать файлы на серверЭта директива позволяет задать имена пользователей, группы и адреса, которымразрешено передавать запросы на передачу файлов (PUT) при работе сзащищенными каталогами.
Пример
PutMask authors,(niceguy,goodie)@96.96.3.1,128.141.*.*
Данная поддиректива применяется следующими формами:
¹ Настройка защиты
SerialNum – Серийный номер клиентаЭта директива позволяет задать серийный номер клиента для информации оботличительном имени (DN), находящейся в сертификате клиента.
Сервер должен быть настроен для идентификации клиентов по SSL, кроме того,запросы от клиента должны передаваться по протоколу HTTPS (HTTP + SSL).Сервер проверяет сертификат путем сравнения параметра SerialNum всертификате и на сервере. Для получения доступа имена должны полностьюсовпадать. В данном значении учитывается регистр и пунктуация; использованиесимволов подстановки недопустимо. Значения, содержащие пробелы, должныуказываться в двойных кавычках (" "), которые не учитываются при сравнении. Выможете также ограничить доступ с помощью проверки допустимостисертификатов или путем связывания сертификата с пользовательским профайломAS/400 или с контрольным списком. Дополнительная информация обидентификации клиентов SSL приведена в разделе “Применение протокола SecureSockets Layer (SSL)” на стр. 223.
Директивы файла конфигурации сервера 119
Управление доступом
Пример
SerialNum "TRUSTNO1"
Данная поддиректива применяется следующими формами:
¹ Настройка защиты (SSL)
ServerID – Указать имя конфигурации защитыДанная поддиректива применяется при ограничении доступа к серверу спомощью идентификаторов пользователей и паролей. Укажите имя используемойконфигурации защиты. Это имя не обязательно должно быть именем реальносуществующей машины.
Это имя применяется инициатором запроса в качестве идентификатора. В связи стем, что разные конфигурации защиты могут применять разные контрольныесписки, указание имени, связанного с конфигурацией защиты, может быть полезнопри определении клиентом того, какой идентификатор пользователя и парольследует передать. Большая часть клиентов показывает это имя в приглашении наввод имени пользователя и пароля.
Пример
ServerID restricted
Данная поддиректива применяется следующими формами:
¹ Настройка защиты
SSL_ClientAuth – Применять сертификаты клиентов SSLДанная поддиректива применяется при защите ресурсов с помощью сертификатовSSL. Сервер должен быть настроен для идентификации клиентов по SSL, крометого, запросы от клиента должны передаваться по протоколу HTTPS (HTTP +SSL). Сервер проверяет сертификат клиента перед тем, как предоставить емудоступ к защищенному ресурсу. Вы можете также ограничить доступ с помощьюпроверки допустимости сертификатов или путем связывания сертификата спользовательским профайлом AS/400 или с контрольным списком.Дополнительная информация об идентификации клиентов SSL приведена вразделе “Применение протокола Secure Sockets Layer (SSL)” на стр. 223.
Поддиректива SSL_ClientAuth имеет следующий формат:
SSL_ClientAuth клиент
Эта поддиректива применяется следующими формами:
¹ Защита документов
StateOrProvince – Область, в которой расположен клиентДанная поддиректива позволяет задать область, в которой находится клиент, дляинформации об отличительном имени (DN), находящейся в сертификате клиента.
120 Руководство администратора IBM HTTP Server для AS/400 V4R4
Управление доступом
Сервер должен быть настроен для идентификации клиентов по SSL, кроме того,запросы от клиента должны передаваться по протоколу HTTPS (HTTP + SSL).Сервер проверяет сертификат путем сравнения параметра StateOrProvince всертификате и на сервере. Для получения доступа имена должны полностьюсовпадать. В данном значении учитывается регистр и пунктуация; использованиесимволов подстановки недопустимо. Значения, содержащие пробелы, должныуказываться в двойных кавычках (" "), которые не учитываются при сравнении. Выможете также ограничить доступ с помощью проверки допустимостисертификатов или путем связывания сертификата с пользовательским профайломAS/400 или с контрольным списком. Дополнительная информация обидентификации клиентов SSL приведена в разделе “Применение протокола SecureSockets Layer (SSL)” на стр. 223.
Пример
StateOrProvince "Frankfurt"
Данная поддиректива применяется следующими формами:
¹ Настройка защиты (SSL)
UserID – Пользовательский профайл управления доступом,применяемый серверомДанная поддиректива позволяет указать пользовательский профайл AS/400,который будет применяться сервером при выполнении запроса HTTP.Идентификаторы пользователей AS/400 необходимо задавать в верхнем регистре.Например, следует ввести WEBUSER, а не webuser.
При запуске сервер проверяет все поддирективы UserID, заданные длязащищенных ресурсов. Если хотя бы одна из них не будет удовлетворятьперечисленным ниже условиям, экземпляр сервера не будет запущен, а вочередь сообщений QSYSOPR будет отправлено соответствующее сообщение:
¹ Указанный пользовательский профайл должен существовать в системе AS/400
¹ В данной поддирективе нельзя указывать профайл QSECOFR.
¹ У профайла, из которого была запущена команда STRTCPSVR, должны бытьправа доступа *USE ко всем пользовательским профайлам, указанным вподдирективах UserID.
Примечание: Поскольку защита сервера зависит от прав доступапользовательского профайла, указанного в директиве UserID,необходимо правильно выбрать этот профайл. Например,если вы укажете в директиве UserID пользовательскийпрофайл MIGHTY1 класса *SECOFR, то ресурсы сервера будутопределяться правами доступа этого профайла.
В поддирективе UserID могут применяться два специальных значения. Значение%%SERVER%% выбирает для обработки текущего сеанса профайл, заданныйдирективой UserID. Значение %%CLIENT%% указывает серверу, что при обработкекаждого запроса нужно запрашивать ИД и пароль пользователя. Эта
Директивы файла конфигурации сервера 121
поддиректива может применяться только в том случае, если в поддирективеPasswdFile указано специальное значение %%SYSTEM%%, которое означает, чтосервер будет использовать пользовательские профайлы AS/400.
Примечание: Если сервер работает под управлением профайла QTMHHTTP(значение по умолчанию) и не указана директива UserID, серверзапускает программы CGI под управлением профайла QTMHHTP1.Если же директива или поддиректива UserID указана, программаCGI будет запущена под профайлом, заданном в этой директиве.Если у этого профайла недостаточно прав для выполненияпрограммы, запрос будет отклонен.
Значения, заданные в данной поддирективе (UserID), переопределяют значения,установленные директивой UserID.
Пример
UserID WEBUSER
Значение по умолчанию
UserID %%SERVER%%
Данная поддиректива применяется следующими формами:
¹ Настройка защиты
Параметры proxy – Настройка proxy–сервера с кэшированиемОписанные ниже директивы применяются для настройки сервера proxy скэшированием. Дополнительная информация об использовании сервера вкачестве proxy приведена в AS/400 Information Center.
CacheAccessLog – Путь к файлам протокола доступа к кэшуДополнительная информация о директиве CacheAccessLog приведена в разделе“CacheAccessLog – Путь к файлам протокола доступа к кэшу” на стр. 77.
CacheClean – Время хранения в кэше файлов с указанными URLЭта директива позволяет задать время хранения кэшированных файлов с URL,соответствующими заданному шаблону запроса. Через указанное время серверудалит из кэша все файлы, URL которых соответствуют указанному шаблону, внезависимости от даты истечения срока их действия.
Для файлов необходимо установить срок хранения и указать шаблон URL. Вфайле конфигурации может быть указано несколько таких директив. Для каждогошаблона задается отдельная директива. В шаблоне URL должен быть указанпротокол, который применяется при передаче запроса. Время задаетсяпроизвольной комбинацией параметров months (месяца), weeks (недели), days(дни) и hours (часы).
122 Руководство администратора IBM HTTP Server для AS/400 V4R4
Примеры
CacheClean http://troupe/* 10 minutes
CacheClean http://dirtykid/* 1 month 2 days
Данная директива применяется следующей формой:
¹ Время хранения файлов в кэш–памяти
CacheDefaultExpiry – Время хранения файлов в кэше по умолчаниюЭта директива позволяет установить срок хранения по умолчанию для файлов,которым сервер не присвоил заголовок Expires или Last–Modified. Для файловнеобходимо установить срок хранения и указать шаблон URL. В файлеконфигурации может быть указано несколько таких директив. Для каждогошаблона задается отдельная директива. В шаблоне URL должен быть указанпротокол, который применяется при передаче запроса. Время задаетсяпроизвольной комбинацией параметров months (месяца), weeks (недели), days(дни) и hours (часы).
Примеры
CacheDefaultExpiry ftp:* 1 month
CacheDefaultExpiry gopher:* 10 days
Значение по умолчанию
CacheDefaultExpiry ftp:* 1 day
CacheDefaultExpiry gopher:* 1 day
CacheDefaultExpiry http:* 0 days
Обратите внимание, что в примерах для HTTP установлен срок ранения поумолчанию – ноль (0) дней. Такое значение обусловлено тем, что многиепрограммы не указывают срок хранения, хотя передаваемые ими данныеустаревают немедленно. Значение, отличное от нуля, может привести кнеправильной работе сервера.
Данная директива применяется следующей формой:
¹ Другие ограничения времени для кэш–памяти
CacheExpiryCheck – Проверка времени хранения файлов в кэшеДанная директива указывает, будет ли сервер возвращать по запросу устаревшиефайлы. Укажите Off, если сервер должен возвращать файлы с истекшим срокомхранения. Значение по умолчанию On запрещает серверу возвращать устаревшиефайлы. Как правило, сервер не должен возвращать устаревшие файлы из кэша.Единственным возможным исключением может быть режим демонстрацииработы сервера, при котором содержание данных не имеет большого значения.
Пример
CacheExpiryCheck Off
Значение по умолчанию
Директивы файла конфигурации сервера 123
CacheExpiryCheck On
Данная директива применяется следующей формой:
¹ Завершение интервала хранения файлов в кэш–памяти
CacheLastModifiedFactor – Часть значения времени последнего изменения,применяемая для определения интервала хранения
Web–серверы часто указывают для файлов время последнего изменения (Last–Modified), но не указывают срок хранения. Данная директива позволяет серверурассчитать для таких файлов примерный срок хранения на основе временипоследнего изменения. По дате последнего изменения сервер определяет время,прошедшее с момента последнего изменения файла. Затем сервер умножаетполученное число на значение, указанное в директиве CacheLastModifiedFactor.Вычисленный результат применяется в качестве срока хранения при кэшированииэтого файла.
Примеры
CacheLastModifiedFactor 0.2
В данном примере для файла, который последний раз изменялся 5 месяцевназад, будет установлен срок хранения продолжительностью 1 месяц.
CacheLastModifiedFactor Off
В этом примере функция отключается.
Значение по умолчанию
CacheLastModifiedFactor 0.14
Значение по умолчанию 0.14 устанавливает режим ежедневного обновления дляфайла, который был последний раз изменен неделю назад.
Данная директива применяется следующей формой:
¹ Завершение интервала хранения файлов в кэш–памяти
CacheLimit_1 – Нижний предел для файлов, удаляемых сервером при сборемусора
Для определения того, какие файлы нужно удалить, сервер применяет механизм"сбора мусора". При вычислениях учитывается такой параметр, как размер файла.Файлы небольшого размера не удаляются. В свою очередь, файлы, имеющиебольшой размер, учитываются этим алгоритмом – чем больше файл, тем большевероятность, что он будет удален.
Данная директива указывает, какие файлы считаются достаточно маленькими,чтобы их не учитывать. Значение может быть указано в байтах (B), килобайтах (K),мегабайтах (M) или гигабайтах (G). Пробел между числом и одним из указанныхсимволов (B, K, M или G) не имеет значения.
124 Руководство администратора IBM HTTP Server для AS/400 V4R4
Пример
CacheLimit_1 350K
Значение по умолчанию
CacheLimit_1 200K
Данная директива применяется следующей формой:
¹ Параметры кэширования
CacheLimit_2 – Верхний предел размера файлов в кэшеДанная директива позволяет задать максимальный размер файлов, которые будутзаноситься в кэш. Файлы, имеющие больший размер, будут пропускаться.Значение может быть указано в байтах (B), килобайтах (K), мегабайтах (M) илигигабайтах (G). Пробел между числом и одним из указанных символов (B, K, Mили G) не имеет значения.
Пример
CacheLimit_2 2100K
Значение по умолчанию
CacheLimit_2 4000K
Данная директива применяется следующей формой:
¹ Параметры кэширования
CacheLockTimeOut – Тайм–аут блокировки файлов в кэшеПри передаче файлов из кэша они автоматически блокируются. При сбое файл вкэше может остаться заблокированным. Данная директива устанавливает время,по истечении которого блокировка файла будет снята. Задайте время в минутах(mins).
Примечание: Время, заданное директивой CacheLockTimeOut, должно быть неменьше времени, заданного директивой OutputTimeOut. Значениепо умолчанию – 20 минут – совпадает со значением по умолчаниюдля OutputTimeOut.
Пример
CacheLockTimeOut 30 mins
Значение по умолчанию
CacheLockTimeOut 20 minutes
Данная директива применяется следующей формой:
¹ Параметры кэширования
Директивы файла конфигурации сервера 125
CacheNoConnect – Включить режим автономного кэшированияДанная директива указывает, будет ли сервер proxy получать файлы с удаленныхсерверов. Укажите значение по умолчанию Off, чтобы proxy–сервер мог получатьфайлы с удаленных серверов по мере необходимости.
Укажите On, если вы хотите, чтобы сервер работал в автономном режиме. Этоозначает, что сервер сможет возвращать в ответ на запросы только те файлы,которые уже есть в его кэше. Как правило, в обычном режиме работы этадиректива должна иметь значение Off.
Работа в режиме автономного кэширования удобна при демонстрации работысервера. Если вы уверены, что все требуемые файлы уже есть в кэше, установкасетевых соединений не требуется.
Пример
CacheNoConnect On
В приведенном выше примере сервер будет возвращать только те файлы,которые есть в его кэше.
Данная директива применяется следующей формой:
¹ Завершение интервала хранения файлов в кэш–памяти
CacheOnly – Заносить в кэш только файлы с указанными URLДанная директива указывает, что в кэш должны заноситься только файлы, URLкоторых удовлетворяет заданному шаблону. В файле конфигурации может бытьуказано несколько таких директив. Для каждого шаблона задается отдельнаядиректива. В шаблоне URL должен быть указан протокол.
Пример
CacheOnly http://dirtykid/*
Данная директива применяется следующей формой:
¹ Фильтры кэширования
CacheRoot – Корневой каталог кэша на сервереЭта директива позволяет указать имя каталога, который будет корневымкаталогом для структуры файлов кэша. Для каждого протокола, файлы которогопомещаются в кэш–память, сервер создает отдельный подкаталог. Помимо этого,в подкаталоге каждого протокола сервер создает подкаталоги для каждогоудаленного сервера.
Примечание: Этот каталог должен находится в файловой системе QOpenSys.
Пример
CacheRoot /QOpenSys/Web/Cache
126 Руководство администратора IBM HTTP Server для AS/400 V4R4
Значение по умолчанию
CacheRoot /QOpenSys/QIBM/UserData/HTTPSVR/ProxyCache/
Данная директива применяется следующей формой:
¹ Параметры кэширования
CacheSize – Размер кэшаДанная директива задает максимальный объем дискового пространства, которыйможет быть выделен под кэш сервера proxy. Если в вашей системе есть дискидостаточно большого объема, вы можете увеличить размер кэша, установленныйпо умолчанию. Размер кэш–памяти обычно не достигает максимального значения,но может стать немного больше. При достижении объемом кэша максимальногозначения запускается процедура сбора мусора.
Значение может быть указано в байтах (B), килобайтах (K), мегабайтах (M) илигигабайтах (G). Пробел между числом и одним из указанных символов (B, K, Mили G) не имеет значения.
Пример
CacheSize 50 M
Значение по умолчанию
CacheSize 5 M
Данная директива применяется следующей формой:
¹ Параметры кэширования
CacheTimeMargin – Не заносить в кэш файлы, срок хранения которыхменьше указанного
Данная директива позволяет указать, что сервер не должен заносить в кэшфайлы, срок хранения которых истечет за указанное время. Рекомендуетсявключить этот тип проверки срока хранения. Это гарантирует, что сервер не будетвозвращать устаревшие файлы. С помощью данной директивы вы можетеустановить границу, согласно которой файлы, срок хранения которых скорозакончится, не будут помещаться в кэш.
Вы можете задать значение от 0 до 60 минут. Например, если срок храненияфайла истечет через 1 минуту, а в данной директиве установлено значение 2минуты, то сервер не будет помещать этот файл в кэш.
Пример
CacheTimeMargin 5 minutes
Значение по умолчанию
CacheTimeMargin 2 minutes
Директивы файла конфигурации сервера 127
Данная директива применяется следующей формой:
¹ Завершение интервала хранения файлов в кэш–памяти
CacheUnused – Максимальное время хранения неиспользуемых файлов вкэше
Эта директива позволяет задать время хранения в кэше неиспользуемых файловс URL, соответствующими заданному шаблону запроса. Через указанное времясервер удалит все неиспользуемые файлы, URL которых соответствуютуказанному шаблону, вне зависимости от их даты истечения срока.
В файле конфигурации может быть указано несколько таких директив. Длякаждого шаблона задается отдельная директива. В шаблоне URL должен бытьуказан протокол. Время задается произвольной комбинацией параметров months(месяца), weeks (недели), days (дни) и hours (часы).
Примеры
CacheUnused ftp:* 3 weeks
CacheUnused gopher:* 3 days 12 hours
CacheUnused * 4 weeks
CacheUnused http://www.patrickproductions.com/* 13 hours
Данная директива применяется следующей формой:
¹ Другие ограничения времени для кэш–памяти
Caching – Включить/выключить кэширование ProxyДанная директива позволяет разрешить или запретить кэширование файлов. Привключенном кэшировании proxy–сервер будет сохранять в локальном кэшефайлы, полученные им с других серверов. При повторении запросов к такомуфайлу сервер будет передавать файлы из своего кэша, без повторных обращенийк удаленным серверам. Это может существенно сократить время ответа.
Пример
Caching On
Значение по умолчанию
Caching Off
Данная директива применяется следующей формой:
¹ Параметры кэширования
ftp_proxy – Proxy, обрабатывающий запросы FTPЕсли ваш сервер является одним из серверов proxy в цепочке таких серверов,эта директива позволяет указать имя другого сервера proxy, к которому сервердолжен обращаться для обработки запросов FTP.
128 Руководство администратора IBM HTTP Server для AS/400 V4R4
Вы можете задать порт сервера для подключения. Для этого в файлеконфигурации укажите следующую директиву:
ftp_proxy http://адрес–внешнего–proxy:порт/
Директивы для организации цепочек proxy–серверов должны применять протоколHTTP при задании URL внешнего сервера. Для этого в файле конфигурации нужноуказать следующую директиву:
ftp_proxy http://адрес–внешнего–proxy:порт/
Пример
ftp_proxy http://адрес–внешнего–proxy/
Данная директива применяется следующими формами:
¹ Цепочка Proxy
¹ Домены прямого доступа
Gc – Включить/выключить сбор мусораЕсли на сервере разрешено кэширование, то для удаления файлов из кэшаприменяется процедура сбора мусора. Она удаляет из кэша файлы, основываясьна их сроке хранения и параметрах настройки proxy. Данная директива позволяетвключить или выключить сбор мусора на сервере. Как правило, есликэширование разрешено, сбор мусора должен быть включен. Если сбор мусоравыключен, размер кэша может превысить допустимый максимум.
Если сбор мусора включен, процедура удаления файлов запускается придостижении кэшем максимального размера (который устанавливается директивойCacheSize). Кроме этого, сбор мусора выполняется ежедневно, в момент,установленный директивой GcDailyGc.
Пример
Gc Off
Значение по умолчанию
Gc On
Данная директива применяется следующей формой:
¹ Параметры кэширования
GcDailyGc – Время ежедневного сбора мусораЭта директива позволяет задать время, в которое будет происходить ежедневныйзапуск процедуры сбора мусора. Эта процедура также будет автоматическизапускаться, если размер кэша достигнет максимального значения. Установиврежим ежедневного сбора мусора, вы можете предотвратить превышение кэшеммаксимально допустимого объема. Время задается в 24–часовом формате. Какправило, процедуру сбора мусора запускают в то время, когда сервер наименеезагружен. В связи с этим, время по умолчанию – 03:00.
Директивы файла конфигурации сервера 129
Примеры
GcDailyGc 22:00
В этом примере сбор мусора будет выполняться ежедневно в 22:00.
GcDailyGc Off
В данном примере сбор мусора выключается.
Значение по умолчанию
GcDailyGc 03:00
Данная директива применяется следующей формой:
¹ Параметры кэширования
GcMemUsage – Объем памяти, применяемый для сбора мусораНаилучшей производительности процедура сбора мусора достигает в том случае,если она может считать всю информацию из кэша в оперативную память. Это неудастся сделать, если в системе установлено недостаточное количество памяти.
Данная директива позволяет указать, какой объем памяти процедура сборамусора может выделить для своих нужд. Это значение должно приблизительноравняться объему виртуальной памяти, который может потребоваться серверупри сборе мусора. Необходимый объем памяти может изменяться динамически(например, в зависимости от структуры каталогов кэша).
Укажите значение в килобайтах, однако не вводите букву K после числа.
Пример
GcMemUsage 100
Такая директива может применяться в системе с небольшим объемом памяти.
Значение по умолчанию
GcMemUsage 1000
Данная директива применяется следующей формой:
¹ Параметры кэширования
gopher_proxy – Proxy, обрабатывающий запросы GopherЕсли ваш сервер является одним из серверов proxy в цепочке таких серверов,эта директива позволяет указать имя другого сервера proxy, к которому сервердолжен обращаться для обработки запросов Gopher.
Вы можете задать порт сервера для подключения. Для этого в файлеконфигурации укажите следующую директиву:
gopher_proxy http://адрес–внешнего–proxy:порт/
130 Руководство администратора IBM HTTP Server для AS/400 V4R4
Директивы для организации цепочек proxy–серверов должны применять протоколHTTP при задании URL внешнего сервера. Для этого в файле конфигурации нужноуказать следующую директиву:
gopher_proxy http://адрес–внешнего–proxy:порт/
Пример
gopher_proxy http://адрес–внешнего–proxy/
Данная директива применяется следующими формами:
¹ Цепочка Proxy
¹ Домены прямого доступа
http_proxy – Proxy, обрабатывающий запросы HTTPЕсли ваш сервер является одним из серверов proxy в цепочке таких серверов,эта директива позволяет указать имя другого сервера proxy, к которому сервердолжен обращаться для обработки запросов HTTP.
Вы можете задать порт сервера для подключения. Для этого в файлеконфигурации укажите следующую директиву:
http_proxy http://адрес–внешнего–proxy:порт/
Директивы для организации цепочек proxy–серверов должны применять протоколHTTP при задании URL внешнего сервера. Для этого в файле конфигурации нужноуказать следующую директиву:
http_proxy http://адрес–внешнего–proxy:порт/
Пример
http_proxy http://адрес–внешнего–proxy/
Данная директива применяется следующими формами:
¹ Цепочка Proxy
¹ Домены прямого доступа
no_proxy – Устанавливать прямое соединение с указанными доменамиДанная директива позволяет задать имена доменов, соединения с которымидолжны устанавливаться напрямую, минуя proxy.
Укажите значение в виде строки имен доменов или шаблонов имен доменов.Записи в строке должны разделяться запятыми (,). Пробелы в этой строкенедопустимы.
Формат шаблонов в этой директиве несколько отличается от форматов,применяемых в других директивах. Учтите, что использовать символ подстановки(*) в этих шаблонах нельзя. Шаблон задается путем указания только последней
Директивы файла конфигурации сервера 131
части имени домена. Сервер будет напрямую подключаться к доменам, именакоторых заканчиваются строкой, совпадающей с одним из заданных шаблонов.
Пример
no_proxy www.someco.com,.rochester.ibm.com,.some.host.org:8080
В приведенном выше примере сервер не будет использовать proxy привыполнении следующих запросов:
¹ Запросов к домену www.someco.com
¹ Запросов к доменам, имена которых заканчиваются на .rochester.ibm.com,например, honkers.rochester.ibm.com и loveas400.rochester.ibm.com
¹ Запросов к порту 8080 серверов в доменах, имя которых заканчивается нак другим портам этого домена, например, myname.some.host.org, (поумолчанию применяется порт 80).
Данная директива применяется следующими формами:
¹ Цепочка Proxy
¹ Домены прямого доступа
NoCaching – Не заносить в кэш файлы с указанными URLДанная директива указывает, что файлы, URL которых удовлетворяет заданномушаблону, не должны помещаться в кэш. В файле конфигурации может бытьуказано несколько таких директив. Для каждого шаблона задается отдельнаядиректива. В шаблоне URL должен быть указан протокол.
Пример
NoCaching http://troupe/*
Данная директива применяется следующей формой:
¹ Фильтры кэширования
Proxy – Задать протоколы proxyЭта директива позволяет указать протоколы, которые сервер будет обрабатыватьв режиме proxy. В директиве можно указать протоколы FTP, Gopher и HTTP.
IBM HTTP Server также поддерживает туннели SSL для защищенных соединений.Сервер может устанавливать защищенные соединения с шифрованием данных,передаваемых между браузером клиента и Web–сервером. Сервер не кэшируетзашифрованные запросы, так как сервер proxy не расшифровывает запросыклиента. Вместо этого, proxy устанавливает соединение с целевым сервером ипередает ему запрос, полученный от клиента.
Эта функция сервера настраивается с помощью директивы Proxy. Дляорганизации защищенного соединения необходимо указать порт целевогосервера. После этого нужно разрешить метод CONNECT с помощью директивы
132 Руководство администратора IBM HTTP Server для AS/400 V4R4
Enable. Дополнительная информация о директиве Enable приведена в разделе“Enable – Разрешить методы HTTP” на стр. 147.
Кроме того, в браузере клиента должны быть настроены параметры защитыproxy для организации туннелей SSL и параметры proxy для работы через proxy–сервер.
Пример
Proxy http:*
Proxy ftp:*
Proxy *:443
Данная директива применяется следующей формой:
¹ Параметры сервера Proxy
ProxyAccessLog – Путь к файлам протокола доступа к ProxyЕсли сервер выполняет функции proxy, вы можете вести отдельный протоколобращений к proxy. Директива ProxyAccessLog позволяет задать путь и имя файладля протокола доступа к proxy–серверу. Для создания протокола работы с proxy вфайле конфигурации должны присутствовать следующие директивы:
¹ Proxy
¹ AccessLog
¹ ProxyAccessLog
Примечания:
1. Сервер будет помещать записи об обращениях к proxy в протокол доступа,если указана директива AccessLog, но не указана директива ProxyAccessLog.Дополнительная информация о директиве AccessLog приведена в разделе“AccessLog – Путь к файлам протокола доступа” на стр. 67. Дополнительнаяинформация о директиве Proxy приведена в разделе “Proxy – Задатьпротоколы proxy” на стр. 132.
2. Если в директиве AccessLog установлен расширенный формат протокола, топротоколы доступа к proxy будут также вестись в расширенном формате.
В качестве значения ProxyAccessLog может быть указан полный путь или путьотносительно каталога из директивы ServerRoot (примеры приведены ниже).
Если сервер запущен, то каждую полночь (по времени системы) он создает новыйфайл протокола доступа к кэшу. При первом запуске сервера протокол создаетсяв момент запуска.
Дополнительная информация об этой директиве приведена в электронной справкек форме Протокол доступа. Форма Протокол доступа находится в подразделеВедение протоколов раздела Конфигурации форм настройки и управления.
Формат этой директивы следующий:
Директивы файла конфигурации сервера 133
ProxyAccessLog <имя–файла [максимальный–размер]
имя–файлаДля Интегрированной файловой системы укажите путь к допустимомукаталогу. Каталог в Интегрированной файловой системе должен быть созданперед запуском сервера. Сервер создаст в нем файл.
Для файловых систем, отличных от QDLS, укажите каталог и имя файлапротокола доступа к proxy. Например: /http/logs/proxyaccesslog.
Сервер добавит к основе имени файла расширение в формате qсггммдд, где:
¹ с – столетие (0 – до 2000 г., 1 – после 2000 г.)
¹ гг – год
¹ мм – месяц
¹ дд – день
Для файловой системы QDLS укажите каталог, в котором расположен файлпротокола доступа к proxy. Например: /QDLS/httplogs/proxyacceslog/.
Сервер создаст имя файла в формате qсггммдд, где:
¹ с – столетие (0 – до 2000 г., 1 – после 2000 г.)
¹ гг – год
¹ мм – месяц
¹ дд – день
Примечание: К имени файла не добавляется никакое расширение.
максимальный–размерМаксимальный размер файла протокола, в килобайтах. Если указано значение0, размер файла протокола увеличивается до очередной обработкипротоколов в полночь. В это время сервер закрывает файл протокола за деньи открывает новый. Максимальный размер по умолчанию равен 2000килобайт. Этот параметр необязательный.
Примечание: При указании размера в килобайтах единицу измерения можноопустить. Если она не указана, размер считается в килобайтах.
Пример
ProxyAccessLog /absolute/path/logfile 3300
ProxyAccessLog /logs/logfile 5050
Примечание: Для файлов протокола, создаваемых в файловой системе QDLS,можно указывать только каталог. Имя файла будет определено потекущей дате, в том же формате, что и расширение в другихфайловых системах. У пользовательского профайла QTMHHTTPдолжны быть права доступа *RWX ко всем папкам указанногопути.
134 Руководство администратора IBM HTTP Server для AS/400 V4R4
Начальное значение
Нет. Сервер не ведет протокол доступа к proxy, если директива в файлеконфигурации не указана.
Данная директива применяется следующей формой:
¹ Параметры сервера Proxy
¹ Протокол доступа
SocksServer – Сервер SOCKS, к которому подключен proxy–серверДанная директива позволяет задать IP–адрес или имя хоста для сервера SOCKS(сервера Secure Sockets Layer), через который proxy будет передавать запросы.
Необходимо указать имена доменов для серверов Internet в конфигурации TCP/IPсистемы AS/400. Таблица Службы имен доменов (DNS) в AS/400 может бытьобновлена с помощью следующих действий:
1. В сеансе эмулятора 5250 с AS/400 введите команду Настроить TCP(CFGTCP).
2. Выберите опцию 12, Изменить информацию о доменах TCP/IP.
3. Укажите адрес сервера Internet в полеАдрес Internet для первого домена всписке.
Дополнительная информация о DNS и TCP/IP приведена в AS/400 InformationCenter.
Формат этой директивы следующий:
SocksServer SocksServer
Где SocksServer – IP–адрес сервера SOCKS, с которым будет работать серверproxy.
Пример
SocksServer socks.ibm.com
Данная директива применяется следующей формой:
¹ Параметры сервера Proxy
Работа приложений с API сервера – Добавление функций в IBM HTTP ServerИнтерфейс прикладных программ (API) сервера IBM HTTP Server позволяетрасширить функции IBM HTTP Server путем добавления собственных процедуробработки. Директивы, описанные в этом разделе, позволяют настроить сервердля вызова пользовательских программ на различных этапах работы.
Директивы файла конфигурации сервера 135
Дополнительная информация о разработке собственных функций и компиляциипрограмм приведена в книге IBM HTTP Server Web Programming Guide,GC41–5435.
Информация об использовании форм настройки и управления, связанных с APIсервера, приведена в электронной справке для соответствующих форм. Этиформы находятся в подразделе Обработка запросов раздела Конфигурацииформ настройки и управления.
Примечание: Вы можете настроить директивы NameTrans и Service с помощьюформы Маршрутизация запросов. Форма Маршрутизациязапросов находится в подразделе Обработка запросов разделаКонфигурации форм настройки и управления.
Процедура обработки запроса сервером может быть поделена на несколькоосновных этапов. Каждый этап характеризуется типом действий, выполняемыхсервером. На каждом из этих этапов существует точка, в которой может бытьвызвана пользовательская функция. Вы можете управлять вызовомпользовательских функций путем изменения конфигурации средствами APIсервера. Для изменения конфигурации могут также применяться формынастройки и управления. Если для одного этапа обработки указано несколькодиректив API сервера, то в течение этого этапа может быть вызвано несколькофункций.
Скомпилированная программа помещается в *SRVPGM. В процессе обработкизапросов сервер вызывает внешние функции, связанные с каждым этапом, до техпор, пока одна из функций не сообщит о завершении обработки запроса. Если длякакого–либо этапа указано несколько функций прикладной программы, то онивызываются в порядке перечисления в файле настройки.
Если запрос не был обработан внешней функцией (в конфигурации отсутствуетсоответствующая директива API сервера или все функции для текущего этапавозвратили значение HTTP_NOACTION), то сервер выполняет действия,определенные по умолчанию.
Примечание: Если сервер не может загрузить приложение или после этапаServerInit оно возвращает код состояния, отличный от OK, серверпрекращает вызов приложений, работающих с API сервера. В этойситуации сервер будет игнорировать результаты работыприложения, в котором возникла ошибка. Такая реакция серверане повлияет на работу других программ и функций, заданных вэтой форме.
Все директивы данного раздела, за исключением Service и NameTrans, могутрасполагаться в файле конфигурации в произвольном порядке. Указывать каждуюдирективу в файле не обязательно. В целом, применение API сервера являетсядополнительной функцией. Если для некоторого действия отсутствует внешняяфункция обработки, вы можете пропустить соответствующую ей директиву. Длятаких действий сервер будет применять стандартные методы обработки.
136 Руководство администратора IBM HTTP Server для AS/400 V4R4
Работа директив Service и NameTrans, как и других директив преобразования,зависит от их положения в файле конфигурации. Например, правила для/cgi–bin/foo.so должны быть расположены раньше правил для /cgi–bin/*.
Для каждого этапа можно задать несколько директив настройки. Например, выможете указать две директивы NameTrans, каждая из которых будет вызыватьсобственную внешнюю функцию. На этапе преобразования имен сервер вызоветвнешние функции преобразования имен в порядке, в котором они указаны вфайле конфигурации.
Внешние функции не обязательно будут вызываться для каждого запроса. Взависимости от формата директив, возможны следующие варианты:
¹ Задавая URL в ряде директив, вы можете указать, что внешняя функциядолжна вызываться только для запросов, URL которых соответствуетопределенному шаблону или маске.
¹ Задавая схему идентификации в директиве Authentication, вы можете указать,что внешняя функция должна вызываться только для определенных типовидентификации.
Authentication – Настроить процедуру идентификацииС помощью этой директивы можно указать, какую функцию (процедуру) изпользовательской прикладной программы должен вызывать сервер на шагеидентификации. Сервер будет обрабатывать этот код на основе схемыидентификации. В настоящее время поддерживается только базоваяидентификация.
Примечание: Идентификация – это часть процедуры проверки прав доступа.Идентификация выполняется только в том случае, если необходимапроверка прав доступа.
Формат этой директивы следующий:
Authentication тип /путь/файл:имя_процедуры
типЗадает схему идентификации, которая определяет, вызывается ли процедураиз вашей прикладной программы. Можно указывать звездочку (*) и значениеBasic.
/путь/файлПолное имя файла (с расширением), в котором находится прикладнаяпрограмма.
:имя_процедурыИмя функции (процедуры) в вашей прикладной программе.
Пример
Authentication BASIC /QSYS.LIB/yourapilib.LIB/apiprogram.SRVPGM:apiprocedure
Директивы файла конфигурации сервера 137
Данная директива применяется следующей формой:
¹ Работа приложений с API сервера
Authorization – Настроить процедуру проверки прав доступаС помощью этой директивы можно указать, какую процедуру из пользовательскойприкладной программы должен вызывать сервер на шаге проверки прав доступа.Пользовательская процедура должна проверять, есть ли у клиента права доступак запрошенному объекту.
Формат этой директивы следующий:
Authorization шаблон–запроса/путь/файл:имя_процедуры
шаблон–запросаШаблон запросов, для которых будет вызываться пользовательскаяпроцедура. Шаблон может содержать:
¹ Протокол
¹ Домен и хост
¹ Начальный символ косой черты (/)
¹ Символ подстановки – звездочку (*)
Например, допустимы записи следующего вида:
¹ /med_city.html
¹ http://www.lotus.com/
¹ /pub*
¹ /*
¹ *
/путь/файлПолное имя файла (с расширением), в котором находится прикладнаяпрограмма.
:имя_процедурыИмя функции (процедуры) в вашей прикладной программе.
Пример
Authorization /index.html /QSYS.LIB/yourapilib.LIB/apiprogram.SRVPGM:apiprocedure
Данная директива применяется следующей формой:
¹ Работа приложений с API сервера
138 Руководство администратора IBM HTTP Server для AS/400 V4R4
DataFilter – Настроить процедуру фильтрации данныхС помощью этой директивы можно указать, какую процедуру из пользовательскойприкладной программы должен вызывать сервер на шаге фильтрации данных. Вприкладной программе должны быть реализованы три функции:
¹ Функция открытия для инициализации данных перед их обработкой.
¹ Функция записи для обработки данных.
¹ Функция закрытия для выполнения очистки.
Примечание: Каждому экземпляру сервера может соответствовать только однаприкладная программа для этапа DataFilter.
Формат этой директивы следующий:
DataFilter /путь/файл:имя_процедуры:имя_процедуры:имя_процедуры
/путь/файлПолное имя файла (с расширением), в котором находится прикладнаяпрограмма.
:имя_процедурыИмя функции (процедуры) в вашей прикладной программе. Вы должныуказать имена процедур открытия, записи и закрытия.
Пример
DataFilter /QSYS.LIB/yourapilib.LIB/apiprogram.SRVPGM:
apiprocedure_open:apiprocedure_write:apiprocedure_close
Примечание: Для записи директивы в примере использованы несколько строк,однако в файле конфигурации директива должна располагаться наодной строке. Перенос директивы на другую строку недопускается.
Данная директива применяется следующей формой:
¹ Работа приложений с API сервера
Error – Настроить процедуру обработки ошибокС помощью этой директивы можно указать, какую процедуру из пользовательскойприкладной программы должен вызывать сервер при обработке ошибок. Этапроцедура должна запускаться только в случае обнаружения ошибки и выполнятьпользовательские подпрограммы обработки ошибок.
Формат этой директивы следующий:
Error шаблон–запроса /путь/файл:имя_процедуры
шаблон–запросаШаблон запросов, для которых будет вызываться пользовательскаяпроцедура. Шаблон может содержать:
Директивы файла конфигурации сервера 139
¹ Протокол
¹ Домен и хост
¹ Начальный символ косой черты (/)
¹ Символ подстановки – звездочку (*)
Например, допустимы записи следующего вида:
¹ /med_city.html
¹ http://www.lotus.com/
¹ /pub*
¹ /*
¹ *
/путь/файлПолное имя файла (с расширением), в котором находится прикладнаяпрограмма.
:имя_процедурыИмя функции (процедуры) в вашей прикладной программе.
Пример
Error /index.html /QSYS.LIB/yourapilib.LIB/apiprogram.SRVPGM:apiprocedure
Данная директива применяется следующей формой:
¹ Работа приложений с API сервера
Log – Настроить процедуру ведения протоколовС помощью этой директивы можно указать, какую процедуру из пользовательскойприкладной программы должен вызывать сервер для ведения протокола. Этапроцедура должна выполнять функции ведения протокола и другие необходимыефункции обработки после закрытия соединения.
Формат этой директивы следующий:
Log шаблон–запроса /путь/файл:имя_процедуры
шаблон–запросаШаблон запросов, для которых будет вызываться пользовательскаяпроцедура. Шаблон может содержать:
¹ Протокол
¹ Домен и хост
¹ Начальный символ косой черты (/)
¹ Символ подстановки – звездочку (*)
Например, допустимы записи следующего вида:
140 Руководство администратора IBM HTTP Server для AS/400 V4R4
¹ /med_city.html
¹ http://www.lotus.com/
¹ /pub*
¹ /*
¹ *
/путь/файлПолное имя файла (с расширением), в котором находится прикладнаяпрограмма.
:имя_процедурыИмя функции (процедуры) в вашей прикладной программе.
Пример
Log /index.html /QSYS.LIB/yourapilib.LIB/apiprogram.SRVPGM:apiprocedure
Данная директива применяется следующей формой:
¹ Работа приложений с API сервера
ObjectType – Изменить процедуру определения типа объектаС помощью этой директивы можно указать, какую процедуру из пользовательскойприкладной программы должен вызывать сервер при определении типа объекта.Эта процедура будет искать запрошенный объект в интегрированной файловойсистеме и определять его тип MIME.
Примечание: Если запрос совпадает с шаблоном, указанным в директивеObjectType, то указанная процедура вызывается, однако обработкапоследующих директив не отменяется. Преобразованный URLдолжен быть сопоставлен с шаблоном в директиве Exec, Fail, Map,Pass, Redirect или Service.
Формат этой директивы следующий:
ObjectType шаблон–запроса/путь/файл:имя_процедуры
шаблон–запросаШаблон запросов, для которых будет вызываться пользовательскаяпроцедура. Шаблон может содержать:
¹ Протокол
¹ Домен и хост
¹ Начальный символ косой черты (/)
¹ Символ подстановки – звездочку (*)
Например, допустимы записи следующего вида:
¹ /med_city.html
Директивы файла конфигурации сервера 141
¹ http://www.lotus.com/
¹ /pub*
¹ /*
¹ *
/путь/файлПолное имя файла (с расширением), в котором находится прикладнаяпрограмма.
:имя_процедурыИмя функции (процедуры) в вашей прикладной программе.
Пример
ObjectType /index.html /QSYS.LIB/yourapilib.LIB/apiprogram.SRVPGM:apiprocedure
Данная директива применяется следующей формой:
¹ Работа приложений с API сервера
PICSDBLookup – Изменить процедуру получения меток PICSС помощью этой директивы можно указать, какую процедуру из пользовательскойприкладной программы должен вызывать сервер при получении меток PICS дляконкретного URL. Эта процедура должна выполнять либо динамическое созданиеметки PICS для запрошенного документа, либо поиск метки PICS вальтернативном файле или базе данных.
Формат
PICSDBLookup шаблон–запроса /QSYS.LIB/lib.LIB/pgm.SRVPGM:имя_процедуры
шаблон–запросаШаблон запросов, для которых будет вызываться пользовательскаяпроцедура. Шаблон может содержать протокол, домен и хост. Передшаблоном можно указывать символ косой черты (/), а также использовать вней символ подстановки – звездочку (*). Допустимы, например, такиезначения: /front_page.html, http://www.ics.raleigh.ibm.com, /pub*, /* и *.
/QSYS.LIB/lib.LIB/pgm.SRVPGMПолное имя пользовательской программы.
:имя_процедурыИмя функции (процедуры) в прикладной программе.
Данная директива применяется следующей формой:
¹ Работа приложений с API сервера
142 Руководство администратора IBM HTTP Server для AS/400 V4R4
PostExit – Настроить процедуру, вызываемую после выходаС помощью этой директивы можно указать, какую процедуру из пользовательскойприкладной программы должен вызывать сервер после выхода. Действия,выполняемые этой процедурой, не зависят от кодов возврата, полученных приработе предыдущих процедур, или при обработке других директив PostExit. Этапроцедура позволяет высвобождать ресурсы, которые были выделены дляобработки запроса.
Формат этой директивы следующий:
PostExit /путь/файл:имя_процедуры
/путь/файлПолное имя файла (с расширением), в котором находится прикладнаяпрограмма.
:имя_процедурыИмя функции (процедуры) в вашей прикладной программе.
Пример
PostExit /QSYS.LIB/yourapilib.LIB/apiprogram.SRVPGM:apiprocedure
Данная директива применяется следующей формой:
¹ Работа приложений с API сервера
PreExit – Изменить процедуру, вызываемую перед выходомС помощью этой директивы можно указать, какую процедуру из пользовательскойприкладной программы должен вызывать сервер перед выходом. Эта процедуравыполняется после того, как будет прочитан запрос клиента, но до его обработки.На этом этапе можно вызвать модуль GoServe. Дополнительная информация поэтому вопросу приведена в книге IBM HTTP Server Web Programming Guide,SC41–5435.
Формат этой директивы следующий:
PreExit /путь/файл:имя_процедуры
/путь/файлПолное имя файла (с расширением), в котором находится прикладнаяпрограмма.
:имя_процедурыИмя функции (процедуры) в вашей прикладной программе.
Пример
PreExit /QSYS.LIB/yourapilib.LIB/apiprogram.SRVPGM:apiprocedure
Данная директива применяется следующей формой:
Директивы файла конфигурации сервера 143
¹ Работа приложений с API сервера
ServerInit – Изменить процедуру инициализации сервераС помощью этой директивы можно указать, какую процедуру из пользовательскойприкладной программы должен вызывать сервер во время инициализации.Данная пользовательская процедура выполняется перед чтением запросовклиентов и всегда – при перезапуске сервера.
Формат этой директивы следующий:
ServerInit /путь/файл:имя_процедуры
/путь/файлПолное имя файла (с расширением), в котором находится прикладнаяпрограмма.
:имя_процедурыИмя функции (процедуры) в вашей прикладной программе.
Пример
ServerInit /QSYS.LIB/yourapilib.LIB/apiprogram.SRVPGM:apiprocedure
Данная директива применяется следующей формой:
¹ Работа приложений с API сервера
ServerTerm – Изменить процедуру завершения работы сервераС помощью этой директивы можно указать, какую процедуру из пользовательскойприкладной программы должен вызывать сервер для завершения работы. Этапроцедура выполняется при обычном выключении системы, а также приперезапуске сервера. Она позволяет освободить ресурсы, захваченныепроцедурой PreExit.
Формат этой директивы следующий:
ServerTerm /путь/файл:имя_процедуры
/путь/файлПолное имя файла (с расширением), в котором находится прикладнаяпрограмма.
:имя_процедурыИмя функции (процедуры) в вашей прикладной программе.
Пример
ServerTerm /QSYS.LIB/yourapilib.LIB/apiprogram.SRVPGM:apiprocedure
Данная директива применяется следующей формой:
¹ Работа приложений с API сервера
144 Руководство администратора IBM HTTP Server для AS/400 V4R4
Методы – Запретить или разрешить методы HTTPВ заголовке каждого получаемого сервером запроса указывается, что сервердолжен выполнить один из методов HTTP. Для того чтобы сервер мог выполнитьуказанный метод HTTP и загрузить документ, необходимо предварительноразрешить этот метод на сервере.
Сервер поддерживает следующие способы доступа:
¹ Delete – Если разрешен метод DELETE, то сервер удаляет объект, указанныйадресом URL. После удаления объекта этот URL станет недействительным.Для выполнения этой операции пользовательскому профайлу,обращающемуся к серверу, должны быть предоставлены права наобновление файла и каталога или библиотеки. Метод DELETE позволяетклиентам удалять информацию с сервера. В конфигурации защиты можноуказать, кто может использовать этот метод, и какие файлы могут удаляться.По умолчанию применяется значение Disabled.
¹ Get – Если разрешен метод GET, то сервер возвращает все данные,указанные адресом URL. Если URL указывает на исполняемую программу,сервер вернет вывод этой программы. По умолчанию применяется значениеEnabled.
¹ Head – Если разрешен метод HEAD, то сервер возвращает только заголовокдокумента HTTP (без тела документа). По умолчанию применяется значениеEnabled.
¹ Post – Метод POST указывает, что входные данные для программы CGI будутнаправлены в программу CGI в стандартном потоке ввода. Disabled – этозначение по умолчанию для всех экземпляров сервера, кроме ADMIN. Дляобработки запросов метода POST, отправленных удаленным клиентом HTTP,администратор сервера должен указать в поле Действие в формеМаршрутизация запросов значение Exec, чтобы разрешить запуск программCGI. Если разрешение на запуск программ CGI не указано в директиве Exec,сервер не будет запускать программу CGI для запроса. Если указано Exec, томожно запускать все программы CGI из библиотеки или только некоторыепрограммы из разных библиотек.
Примечание: Экземпляр сервера ADMIN позволяет с помощью способаметода POST вносить изменения в конфигурацию сервера.Если вы запретите этот метод для экземпляра ADMIN, то вы несможете обновлять конфигурацию сервера с помощью формадминистрирования. По умолчанию экземпляру сервераADMIN разрешено применять метод POST.
¹ Put – Если разрешен метод PUT, то ресурсы, которые клиент указал в URL,будут сохраняться сервером HTTP. Если ресурс уже существует, метод PUTзаменит его. Если ресурс не существует, то метод PUT его создаст. Длявыполнения этой операции пользовательскому профайлу, обращающемуся ксерверу, должны быть предоставлены права на обновление файла и каталогаили библиотеки. Метод PUT позволяет клиентам добавлять или заменятьинформацию на сервере. В конфигурации защиты необходимо указать, кто
Директивы файла конфигурации сервера 145
может использовать этот метод, и какие файлы могут удаляться. Поумолчанию применяется значение Disabled.
¹ Options – При указании метода OPTIONS будет запрашиваться информацияоб опциях линии связи в цепочке запрос/ответ, заданной адресом URL. Этотметод позволяет клиенту, не обращаясь к самому объекту и не запрашиваяего, определить связанные с этим объектом опции и требования, иливозможности сервера. По умолчанию применяется значение Enabled.
¹ Trace – При включении метода TRACE сервер показывает сообщение–запрос, отправленное клиентом. Этот метод позволяет клиенту посмотретьданные, которые были получены на другом конце цепочки запросов, ииспользовать эти сведения в качестве тестовой или диагностическойинформации.Тип содержимого ответа – message/http. По умолчаниюприменяется значение Enabled.
¹ Connect – Если разрешить метод CONNECT, то сервер сможет устанавливатьсвязь по туннелю SSL между клиентом (например, Netscape Navigator) иудаленным сервером через сервер Proxy. Сеансы, установленные междуклиентом и сервером Proxy, а также между сервером Proxy и удаленнымсервером, защищены. У сервера Proxy нет доступа к передаваемым данным.Сервер Proxy может быть как обычным, так и защищенным сервером. Поумолчанию применяется значение Disabled. Чтобы включить туннели SSL,откройте форму Параметры сервера Proxy и укажите порт туннеля SSL.
¹ Пользовательский – Вы можете задать имя своего метода, который будетобрабатывать запросы с помощью API сервера или программы CGI, которуювы укажете. Введите имя метода, путь и имя соответствующей емупрограммы, которая будет обрабатывать запросы для этого метода.Например, Mymethod/QSYS.LIB/MYMETHAPI.LIB/MYMETHAPI.SRVPGM:mymethodhandler. Если впоступившем запросе указан пользовательский метод, то для того, чтобы URLбыл обработан сервером, он должен совпадать с шаблоном, указанным вдирективе Exec или Service.
Disable – Запретить методы HTTPДанная директива указывает, какие методы HTTP запрещено использоватьсерверу.
В конфигурации сервера ADMIN разрешены методы DELETE, GET, HEAD, POST иPUT; остальные поддерживаемые методы HTTP запрещены. Для того чтобызапретить метод, который в данный момент разрешен, укажите для него вместодирективы Enable директиву Disable.
Примечание: Для обновления конфигурации сервера *ADMIN в формахнастройки и управления применяется метод POST. Если запретитьметод POST, вы не сможете использовать формы настройки иуправления.
Пример
Disable DELETE
146 Руководство администратора IBM HTTP Server для AS/400 V4R4
Преобразование адресов ресурсов
Данная директива применяется следующей формой:
¹ Методы
Enable – Разрешить методы HTTPДанная директива указывает, какие методы HTTP разрешено использоватьсерверу.
Вы можете разрешить столько методов HTTP, сколько вам нужно. Для каждогометода необходимо указать директиву Enable с именем этого метода.
Формат
Enable метод [ необязательный_обработчик_метода]
методУкажите метод, который вы хотите разрешить. Например, PUT, GET илипользовательский метод.
необязательный_обработчик_методаПользовательская программа обработки запросов метода. Обработчик методаобязательно должен быть указан для пользовательских методов. Заданнаяпрограмма будет применяться вместо стандартной программы обработкизапросов данного метода.
Пример
Разрешить POST
Данная директива применяется следующей формой:
¹ Методы
Маршрутизация запросов – Перенаправление URL и определениерасширений файлов
С помощью директив, описанных в данном разделе, можно указать серверу, какон должен интерпретировать конкретные расширения файлов, какие запросыпринимать, и где искать ресурсы.
Сервер устанавливает соответствие между расширением файла и типом егосодержимого, кодировки или языка. Файл конфигурации, поставляемый ссервером, содержит спецификации для наиболее часто используемых расширенийфайлов. Директивы определения расширений следует использовать только длядобавления новых определений или для изменения примеров определений,хранящихся в файле конфигурации.
С помощью директив маршрутизации (Exec, Fail, Map, Pass и Redirect) можноуказывать серверу, какие запросы он должен принимать, и преобразовыватьзапросы к URL в запросы к физическим файлам.
Директивы файла конфигурации сервера 147
Преобразование адресов ресурсов
Виртуальная иерархия ресурсов Web позволяет свободно изменять их физическоерасположение без изменения внешних путей доступа к ним. Даже если серверотправляет документы из разных файловых систем, можно задать внешний путьдоступа.
Сервер применяет директивы маршрутизации в том порядке, в котором онизаписаны в файле конфигурации, до тех пор, пока запрос не будет принят илиотвергнут, либо пока не будут исчерпаны все директивы, применимые к данномузапросу.
Примечание: Поскольку система AS/400 включает различные файловыесистемы, как учитывающие регистр символов в именах файлов,так и не учитывающие, сервер сохраняет регистр символов вовсех URL, указываемых в директивах. По этой причине, при работес файловыми системами, не учитывающими регистр, с такимидирективами управления запросами, как PASS, Protect и EXEC,необходимо указывать директиву MAP.
Exec – Запускать для указанных запросов программу CGIШаблон запросов, принимаемых сервером, для обработки которых будетзапускаться программа CGI. Если запрос совпадает с шаблоном, указанным вдирективе Exec, то сравнение с шаблонами в других директивах не производится.
Формат этой директивы следующий:
Exec шаблон–запроса [путь–к–программе [шаблон–IP–адреса]] [CGIConvMode]
[CgiThreadedMode]
шаблон–запросаШаблон запросов, принимаемых сервером, для обработки которых будетзапускаться программа CGI.
В качестве символа подстановки в поле путь_к_программе необходимоиспользовать звездочку (*). Часть запроса, соответствующая символуподстановки в шаблоне–запроса, должна начинаться с имени файла,содержащего программу CGI. В шаблоне–запроса учитывается регистрсимволов, однако в строке замещения символы разных регистровразличаются только в том случае, если она относится к файловой системе, вкоторой учитывается регистр.
Пример
Map /cgi–bin/* /cgi–bin/*.pgm
Exec /cgi–bin/* /qsys.lib/cgilib.lib/*
В этом примере вместо имени программы после /cgi–bin/ указан символподстановки. Директива Exec определяет библиотеку, в которой находитсяпрограмма CGI, заданная в /cgi–bin/. Директива Exec изменяет библиотекуна cgilib.
путь_к_программеКаталог файла с программой CGI, которая будет запускаться сервером дляобработки запроса.
148 Руководство администратора IBM HTTP Server для AS/400 V4R4
Преобразование адресов ресурсов
В поле путь_к_программе можно задавать символ подстановки, которыйбудет заменяться на имя файла с программой CGI. В запросе можетсодержаться дополнительная информация, которая передается в программуCGI в параметре среды PATH_INFO. Дополнительные данные запросауказаны за первой косой чертой (/), стоящей после имени файла спрограммой CGI. Передача данных происходит в соответствии соспецификациями CGI.
шаблон–IP–адресаЕсли Web–сервер подключен к нескольким интерфейсам, этот параметрпозволяет указать шаблон IP–адресов этих интерфейсов. Сервер применяеткаждую директиву только к запросам, приходящим по указанныминтерфейсам. Заметьте, что в директиве должен быть указан шаблон дляадреса интерфейса, по которому получен шаблон, а не для адреса клиента,который его отправил.
Вы можете указать полный IP–адрес интерфейса (например, 204.146.167.72).
Этот параметр необязательный. Без указания шаблона IP–адреса сервербудет применять директиву ко всем запросам, независимо от интерфейса, покоторому они получены.
CGIConvModeВ этом параметре задается режим преобразования CGI, который должениспользоваться сервером для запросов, совпадающих с шаблоном. Для такихзапросов значение, указанное в этом параметре, переопределяет общиенастройки параметров сервера. Список значений CGIConvMode приведен вразделе “CGIConvMode – Параметры преобразования данных для программCGI” на стр. 21. Если значение CGIConvMode не указано, то применяетсязначение по умолчанию из директивы CGIConvMode.
CgiThreadedModeВ этом параметре задаются адреса URL для запуска CGI с поддержкойнескольких нитей или без поддержки нитей. С этим параметром можноуказывать значение *On или значение по умолчанию *Off. Если значение неуказано, то применяется значение по умолчанию из директивыCgiThreadedMode. Описание директивы CgiThreadedMode приведено вразделе “CgiThreadedMode – Разрешить по умолчанию задания CGI снесколькими нитями” на стр. 25.
Пример
Map /cgi–bin/* /cgi–bin/*.pgm
Exec /cgi–bin/* /QSYS.LIB/CGIBIN.LIB/*
В этом примере сервер будет искать программу CGI в библиотеке CGIBIN. В этомслучае для запроса к странице http://hostname/cgi–bin/mycgi сервер попытаетсязапустить программу MYCGI из библиотеки CGIBIN. Директива Map добавляетрасширение .pgm к имени программы, поэтому в запросе .pgm указывать ненужно. При поступлении запроса на сервер происходит следующее:
Директивы файла конфигурации сервера 149
Преобразование адресов ресурсов
/cgi–bin/mycgi – Поступление запроса.
/cgi–bin/mycgi.pgm – Директива Map добавляет .pgm.
/QSYS.LIB/CGIBIN.LIB/* – Изменение запроса: определяется
путь к программе (библиотека AS/400)
При необходимости в файле конфигурации можно указать несколько директивExec. Например, вы можете указать директиву Exec для языковпрограммирования, на которых вы пишете свои программы CGI:
Exec /rexx/* /qsys.lib/as400cgi.lib/rexx.file/*
Exec /java/* /as400cgi/*
Данная директива применяется следующей формой:
¹ Маршрутизация запросов
Fail – Отклонять указанные запросыВ данной директиве задается шаблон запросов, которые не должныобрабатываться. Если запрос совпадает с шаблоном, указанным в директиве Fail,то сравнение с шаблонами в следующих за ней директивах не производится.
Формат этой директивы следующий:
Fail шаблон–запроса [ шаблон–IP–адреса]
шаблон–запросаШаблон запросов, которые будут отклоняться сервером. Если запроссовпадет с шаблоном, то сервер отправит инициатору запроса сообщение обошибке.
В качестве символа подстановки в шаблоне можно использовать звездочку(*).
шаблон–IP–адресаЕсли Web–сервер подключен к нескольким интерфейсам, этот параметрпозволяет указать шаблон IP–адресов этих интерфейсов. Сервер применяеткаждую директиву только к запросам, приходящим по указанныминтерфейсам. Заметьте, что в директиве должен быть указан шаблон дляадреса интерфейса, по которому получен шаблон, а не для адреса клиента,который его отправил.
Вы можете указать полный IP–адрес интерфейса (например, 204.146.167.72).
Этот параметр необязательный. Без указания шаблона IP–адреса сервербудет применять директиву ко всем запросам, независимо от интерфейса, покоторому они получены.
Пример
QDLS: Fail /QDLS/TESTING/*
В этом примере сервер будет отклонять все запросы, начинающиеся с/QDLS/TESTING/.
150 Руководство администратора IBM HTTP Server для AS/400 V4R4
Преобразование адресов ресурсов
Fail /customerB/* 204.146.167.72
Fail /customerA/* 9.99.123.4
Сервер отвергает все запросы, начинающиеся с /customerB/, если они поступаютпо соединению с IP–адресом 204.146.167.72. Сервер также отвергает всезапросы, начинающиеся с /customerA/, если они поступают по соединению сIP–адресом 9.99.123.4.
Значение по умолчанию
Fail. Если запрос не совпадает с шаблоном, указанным в любой из директивобработки (Map или Pass), то сервер не будет его обрабатывать.
Данная директива применяется следующей формой:
¹ Маршрутизация запросов
Map – Преобразовывать указанные запросыВ данной директиве задается шаблон для запросов, которые должныпреобразовываться в новую строку. После того как сервер преобразует запрос вновую строку, он будет использовать ее для сравнения с шаблонами в данной и впоследующих директивах.
Формат этой директивы следующий:
Map шаблон–запроса новый–запрос [шаблон–IP–адреса]
шаблон–запросаШаблон запросов, которые будут преобразовываться сервером; полученнаястрока будет затем сравниваться сервером с другими шаблонами.
В качестве символа подстановки в шаблоне можно использовать звездочку(*).
новый–запросНовая строка запроса, которую сервер будет сравнивать с шаблонамизапросов в директивах, следующих за данной директивой. Если в шаблоне–запроса указан символ подстановки, то его можно задавать и в новом–запросе. Часть запроса, соответствующая символу подстановки вшаблоне–запроса, заменяет символ подстановки в новом–запросе.
шаблон–IP–адресаЕсли Web–сервер подключен к нескольким интерфейсам, этот параметрпозволяет указать шаблон IP–адресов этих интерфейсов. Сервер применяеткаждую директиву только к запросам, приходящим по указанныминтерфейсам. Заметьте, что в директиве должен быть указан шаблон дляадреса интерфейса, по которому получен шаблон, а не для адреса клиента,который его отправил.
Вы можете указать полный IP–адрес интерфейса (например, 204.146.167.72).
Директивы файла конфигурации сервера 151
Преобразование адресов ресурсов
Этот параметр необязательный. Без указания шаблона IP–адреса сервербудет применять директиву ко всем запросам, независимо от интерфейса, покоторому они получены.
Пример
Пример директивы Map для запроса с /cgi–bin/ в качестве объекта PGM:
Map /cgi–bin/* /cgi–bin/*.pgm
Exec /cgi–bin/* /qsys.lib/cgilib.lib/*
В этом примере для всех запросов, начинающихся с /cgi–bin/, сервер изменяет/cgi–bin/ на /cgi–bin/*.pgm. Все, что следует за /cgi–bin/ в исходном запросе,будет включено в новую строку запроса. Поэтому, например, строка/cgi–bin/whatsup/ будет изменена на /cgi–bin/whatsup.pgm.
Директива Exec должна изменить /cgi–bin/whatsup.pgm на/qsys.lib/cgilib.lib/*. При этом сервер IBM HTTP Server получает возможностьвыполнять программу cgipgm в библиотеке cgilib. Сервер будет использоватьновую строку запроса для сравнения с шаблонами запросов в директивах,следующих за данной директивой.
Map /stuff/* /customerA/good/stuff/* 204.146.167.72
Map /stuff/* /customerB/good/stuff/* 9.99.123.4
Если сервер получит запрос, начинающийся с /stuff/, то он изменит его взависимости от IP–адреса интерфейса, по которому получен этот запрос. Длязапросов, полученных по интерфейсу 204.146.167.72, сервер заменяет /stuff/ настроку /customerA/good/stuff/. Для запросов, полученных по интерфейсу9.99.123.4, сервер заменяет /stuff/ на /customerB/good/stuff/.
Данная директива применяется следующей формой:
¹ Маршрутизация запросов
NameTrans – Пользовательская процедура преобразования именС помощью этой директивы можно указать, какую процедуру из пользовательскойприкладной программы должен вызывать сервер для преобразования имен. Этапроцедура должна выполнять преобразование виртуального пути, указанного взапросе, в физический путь на сервере, а также устанавливать соответствиемежду URL и конкретными объектами.
Примечание: Если запрос совпадает с шаблоном, указанным в директивеNameTrans, то обработка последующих директив не отменяется.Преобразованный URL должен быть сопоставлен с шаблоном вдирективе Exec, Fail, Map, Pass, Redirect или Service.
Формат этой директивы следующий:
NameTrans шаблон–запроса /путь/файл:процедура [IP–адрес–сервера или хост]
152 Руководство администратора IBM HTTP Server для AS/400 V4R4
Преобразование адресов ресурсов
шаблон–запросаШаблон запросов, для которых будет вызываться пользовательскаяпроцедура. Шаблон может содержать:
¹ Протокол
¹ Домен и хост
¹ Начальный символ косой черты (/)
¹ Символ подстановки – звездочку (*)
Например, допустимы записи следующего вида:
¹ /med_city.html
¹ http://www.lotus.com/
¹ /pub*
¹ /*
¹ *
/путь/файлПолное имя файла (с расширением), в котором находится прикладнаяпрограмма.
:процедураИмя функции (процедуры) в вашей прикладной программе.
IP–адрес–сервера или хостЕсли вы используете несколько IP–адресов или виртуальных хостов, этазапись определяет, для какого конкретно IP–адреса или хоста, получающегозапрос, вызывается данная процедура.
Пример
NameTrans /index.html /QSYS.LIB/yourapilib.LIB/apiprogram.SRVPGM:apiprocedure
Данная директива применяется следующей формой:
¹ Маршрутизация запросов
Pass – Принимать указанные запросыВ данной директиве задается шаблон для запросов, которые принимаютсясервером, и в ответ на которые сервер должен загрузить документ. Если запроссовпадает с шаблоном, указанным в директиве Pass, то сравнение с шаблонами вследующих за ней директивах не производится.
Формат этой директивы следующий:
Pass шаблон–запроса [путь–к–файлу [шаблон–IP–адреса]]
шаблон–запросаШаблон для запросов, которые принимаются сервером, и в ответ на которыесервер должен загрузить документ.
Директивы файла конфигурации сервера 153
Преобразование адресов ресурсов
В качестве символа подстановки в шаблоне можно использовать звездочку(*).
путь–к–файлуКаталог файла, содержащего документ, который будет возвращен сервером.Если в шаблоне–запроса есть символ подстановки, то его можно задавать ив новом–запросе. Часть запроса, соответствующая символу подстановки вшаблоне–запроса, заменит символ подстановки в пути–к–файлу.
Этот параметр необязательный. Если путь не указан, то в качестве именикаталога будет использован сам запрос.
шаблон–IP–адресаЕсли Web–сервер подключен к нескольким интерфейсам, этот параметрпозволяет указать шаблон IP–адресов этих интерфейсов. Сервер применяеткаждую директиву только к запросам, приходящим по указанныминтерфейсам. Заметьте, что в директиве должен быть указан шаблон дляадреса интерфейса, по которому получен шаблон, а не для адреса клиента,который его отправил.
Вы можете указать полный IP–адрес интерфейса (например, 204.146.167.72).
Этот параметр необязательный. Вместе с этим параметром необходимоуказать параметр путь–к–файлу. Без указания шаблона–IP–адреса сервербудет применять директиву ко всем запросам, независимо от интерфейса, покоторому они получены.
Пример
QDLS: Pass /doc/* /QDLS/WebTEST/*.HTM
Root: Pass /root/* /WebSAMP/*.html
QOpenSys: Pass /x/* /QOpenSys/WebSAMP/*.html
QSYS: Pass /lib/* /QSYS.LIB/WebSAMP.LIB/HTMLDOC.FILE/*.MBR
154 Руководство администратора IBM HTTP Server для AS/400 V4R4
Преобразование адресов ресурсов
Внимание!
Задавать Pass /* (без указания строки подстановки) опасно. Директива Pass/* отключает все процедуры управления доступом, которые должнывыполняться сервером. При этом браузеры смогут обращаться к файлам,которые вы хотели бы защитить.
Настоятельно рекомендуем вам не задавать директиву Pass /*.
Директива Pass с шаблоном /* без строки замещения разрешает серверуобслуживать все файлы AS/400, доступ к которым (в режиме чтения) есть упользовательского профайла QTMHHTTP, по запросу, содержащемуфактическое имя документа AS/400; например,/QSYS.LIB/PERSONAL.LIB/DATA.FILE/PAY.MBR. Директива Pass с шаблоном /*
может применяться для указания строки подстановки, которая будетиспользоваться в качестве документа AS/400; например, Pass /*
/www/Webdata/Web.html. Такая директива должна указываться после всехдиректив Map, Pass, Exec и Redirect. В противном случае будет выданосообщение Error 403 “Forbidden by rule.”
В приведенном выше примере для файловой системы QDLS сервер отвечает назапрос, начинающийся с /doc/, возвращая документ из /QDLS/WebTEST/. Дляидентификации документа будет также применяться и та часть запроса, котораяследует за /doc/. Поэтому в ответ на запрос /doc/test/test1/doctest.html сервервозвратит документ из файла /QDLS/WebTEST/test/test1/doctest.html.
Pass /gooddoc/*
В этом примере в ответ на запрос, начинающийся с /gooddoc/, сервер загрузитдокумент из /gooddoc. В ответ на запрос/gooddoc/volume1/issue2/newsletter4.html сервер загрузит документ из файла/gooddoc/volume1/issue2/newsletter4.html.
Pass /parts/* /customerA/catalog/* 204.146.167.72
Pass /parts/* /customerB/catalog/* 9.99.123.4
Если сервер получит запрос, начинающийся с /parts/, то возвратит файл взависимости от IP–адреса интерфейса, по которому получен этот запрос. Длязапросов, полученных по интерфейсу 204.146.167.72, сервер возвращает файл из/customerA/catalog/, а по интерфейсу 9.99.123.4 – из /customerB/catalog/.
Данная директива применяется следующей формой:
¹ Маршрутизация запросов
Redirect – Отправлять подходящие запросы другому серверуВ данной директиве задается шаблон для запросов, которые должны приниматьсяи передаваться на другой сервер. Если запрос совпадает с шаблоном, указаннымв директиве Redirect, то сравнение с шаблонами в других директивах файлаконфигурации не производится.
Директивы файла конфигурации сервера 155
Преобразование адресов ресурсов
Формат этой директивы следующий:
Redirect шаблон–запроса URL [шаблон–IP–адреса]
шаблон–запросаШаблон запросов, отправляемых на другой сервер.
В качестве символа подстановки в шаблоне можно использовать звездочку(*).
URLЗапрос URL, отправляемый на другой сервер. В ответе на этот запросисходному отправителю не сообщается, что ответ пришел не от вашегосервера.
В URL необходимо указать протокол и имя сервера, на который передаетсязапрос. Этот параметр может также содержать имя файла или путь к нему.Если в шаблоне–запроса указан символ подстановки, то его можно указыватьи в каталоге или имени файла в URL. Часть первоначального запроса,соответствующая символу подстановки в шаблоне–запроса, заменяет символподстановки в URL.
шаблон–IP–адресаЕсли Web–сервер подключен к нескольким интерфейсам, этот параметрпозволяет указать шаблон IP–адресов этих интерфейсов. Сервер применяеткаждую директиву только к запросам, приходящим по указанныминтерфейсам. Заметьте, что в директиве должен быть указан шаблон дляадреса интерфейса, по которому получен шаблон, а не для адреса клиента,который его отправил.
Вы можете указать полный IP–адрес интерфейса (например, 204.146.167.72).
Этот параметр необязательный. Без указания шаблона IP–адреса сервербудет применять директиву ко всем запросам, независимо от интерфейса, покоторому они получены.
Пример
Redirect /chief/stuff/* http://www.other.org/wahoo/*
В данном примере сервер отправляет все запросы, начинающиеся с/chief/stuff/, в каталог wahoo сервера www.other.org.
Redirect /stuff/* http://www.chief.org/wahoo/* 204.146.167.72
Redirect /stuff/* http://www.dawg.com/bones/* 9.99.123.4
Если сервер получает запрос, начинающийся с /stuff/, то сервер, на который онпередаст запрос, будет зависеть от IP–адреса интерфейса, по которому полученисходный запрос. Запросы, полученные по интерфейсу 204.146.167.72, передаютсяв каталог wahoo сервера www.chief.org, а по интерфейсу 9.99.123.4 – в каталогbones сервера www.dawg.com.
Данная директива применяется следующей формой:
¹ Маршрутизация запросов
156 Руководство администратора IBM HTTP Server для AS/400 V4R4
Преобразование адресов ресурсов
Service – Настроить процедуру обслуживания запросовС помощью этой директивы можно указать, какую процедуру из пользовательскойприкладной программы должен вызывать сервер. Эта процедура обслуживаетзапрос клиента. Например, она может отправить файл или запустить сценарийCGI.
Значения по умолчанию для этой директивы не предусмотрены. Если запроссовпадает с шаблоном, заданным в директиве Service (в этом случае запускаетсяпроцедура, указанная в этой директиве), но возвращается значениеHTTP_NOACTION, то сервер фиксирует ошибку и запрос не выполняется.
Формат этой директивы следующий:
Service шаблон–запроса /путь/файл:имя_процедуры [CGIConvMode]
шаблон–запросаШаблон запросов, для которых будет вызываться пользовательскаяпроцедура. Шаблон может содержать:
¹ Протокол
¹ Домен и хост
¹ Начальный символ косой черты (/)
¹ Символ подстановки – звездочку (*)
Например, допустимы записи следующего вида:
¹ /med_city.html
¹ http://www.lotus.com/
¹ /pub*
¹ /*
¹ *
/путь/файлПолное имя файла (с расширением), в котором находится прикладнаяпрограмма.
:имя_процедурыИмя функции (процедуры) в вашей прикладной программе.
IP–адрес–сервера или имя–хостаЕсли вы используете несколько IP–адресов или виртуальных хостов, этазапись определяет, для какого конкретно IP–адреса или хоста, получающегозапрос, вызывается данная процедура.
Примечание: Для IP–адреса сервера или имени хоста нельзя использоватьсимвол подстановки (*).
Директивы файла конфигурации сервера 157
Защита
[CGIConvMode]В этом параметре задается режим преобразования CGI, который должениспользоваться сервером для запросов, совпадающих с шаблоном. Для такихзапросов значение, указанное в этом параметре, переопределяет общиенастройки параметров сервера. Если значение не указано, то применяетсязначение по умолчанию из директивы CGIConvMode. Описание директивыCGIConvMode приведено в разделе “CGIConvMode – Параметрыпреобразования данных для программ CGI” на стр. 21.
Примечание: Если вы хотите, чтобы преобразовывался полный маршрут,включая и строку_запроса, то необходимо указать звездочку(*) и в шаблоне–запроса, и в параметрепуть/файл:имя_процедуры (как показано во втором примере).
Примеры
Service /index.html /QSYS.LIB/yourapilib.LIB/apiprogram.SRVPGM:apiprocedure
Service /cgi–bin/hexcalc* /QSYS.LIB/yourapilib.LIB/apiprogram.SRVPGM:apiprocedure
Данная директива применяется следующей формой:
¹ Маршрутизация запросов
Конфигурация защиты – Настройка защиты сервераДирективы из данного раздела задают порядок использования функций защитысетевого уровня для защиты сервера.
Дополнительная информация об использовании SSL с сервером приведена вразделе “Применение протокола Secure Sockets Layer (SSL)” на стр. 223.
Если вы изменяете указанные директивы, то для того чтобы изменения вступили всилу, необходимо остановить сервер, а затем снова запустить его. Если простоперезапустить сервер, изменения будут проигнорированы.
NormalMode – Включить/выключить незащищенный режим HTTP ServerДанная директива предназначена для включения/выключения порта,определяемого директивой Port.
Включите незащищенный режим (NormalMode) для соединения HTTP. Если вытакже хотите использовать соединение SSL, включите режим SSLMode.
Примечание: Режим можно включить с помощью одной из директив(NormalMode или SSLMode). Если режим выключен в обеихдирективах (и в NormalMode, и в SSLMode), то сервер не будетзапущен.
После изменения этой директивы необходимо остановить и снова запуститьсервер. Простого перезапуска сервера недостаточно.
158 Руководство администратора IBM HTTP Server для AS/400 V4R4
Защита
Значение по умолчанию
NormalMode on
Данная директива применяется следующей формой:
¹ Настройка защиты
SSLClientAuth – Включить/выключить идентификацию клиентов SSLДанная директива позволяет включить идентификацию клиентов SSL длязащищенных соединений. Вместе с этой директивой в файле конфигурациинеобходимо задать директиву SSLMode.
Для защиты ресурсов можно использовать сертификаты клиентов, сертификаты синформацией об отличительных именах (DN), сертификаты, связанные спользовательскими профайлами AS/400, и сертификаты, связанные сконтрольными списками AS/400. Дополнительная информация о примененииидентификации клиентов SSL на вашем сервере приведена в разделе“Применение протокола Secure Sockets Layer (SSL)” на стр. 223.
После изменения этой директивы необходимо остановить и снова запуститьсервер. Простого перезапуска сервера недостаточно.
Данная директива может быть указана в одном из следующих форматов:
SSLClientAuth Required
SSLClientAuth on
SSLClientAuth off
RequiredСервер запрашивает у клиентов сертификаты. Если клиент не возвратитсертификат, или если сертификат недействителен, соединение неустанавливается. Сервер не будет обрабатывать запрос клиента.
on Сервер запрашивает у клиентов сертификаты. Сервер обработает запрос,полученный от клиента, независимо от того, вернул ли клиент сертификат, идействителен ли он.
off Сервер не запрашивает сертификаты у клиентов. Запрос клиента будетобработан сервером.
Значение по умолчанию
SSLClientAuth off
Данная директива применяется следующей формой:
¹ Настройка защиты
SSLMode – Включить/выключить защищенный порт HTTP ServerДанная директива предназначена для включения/выключения порта,определяемого директивой SSLPort.
Директивы файла конфигурации сервера 159
Для соединения SSL необходимо задать SSLMode on. Если вы также хотитеиспользовать соединение HTTP, задайте NormalMode on.
Примечание: Режим можно включить с помощью одной из директив (данной илиNormalMode). Если режим выключен в обеих директивах (и вNormalMode, и в SSLMode), то сервер не будет запущен.
После изменения этой директивы необходимо остановить и снова запуститьсервер. Простого перезапуска сервера недостаточно.
Значение по умолчанию
SSLMode off
Данная директива применяется следующей формой:
¹ Настройка защиты
SSLPort – Задать защищенный (SSL) портДанная директива задает порт для защищенного соединения SSL. Этот порт будетиспользоваться сервером только для запросов HTTPS. (Для приема запросовHTTP будет использоваться порт, указанный в директиве Port.)
Если вы не хотите использовать порт 443, укажите номер порта, превышающий1024.
После изменения этой директивы необходимо остановить и снова запуститьсервер. Простого перезапуска сервера недостаточно.
Значение по умолчанию
SSLPort 443
Данная директива применяется следующими формами:
¹ Настройка защиты
¹ Изменить параметры экземпляра
Простой протокол управления сетью (SNMP)Система управления сетью – это программа, которая работает в постоянномрежиме и предназначена для контроля за состоянием сети и для управления ей. Внастоящее время в качестве стандарта сетевого управления применяется Простойпротокол управления сетью (SNMP), часто используемый для связи устройств всети. Обычно с каждым устройством сети связан основной агент SNMP и один илинесколько вспомогательных агентов. Агент SNMP взаимодействует со станциейуправления сетью или отвечает на запросы из командной строки.Вспомогательный агент SNMP получает, обновляет и передает запрошенныеданные агенту SNMP, который возвращает их отправителю запроса.
160 Руководство администратора IBM HTTP Server для AS/400 V4R4
На сервере HTTP есть база информации управления (MIB) SNMP ивспомогательный агент SNMP, поэтому для контроля за состоянием,производительностью и загрузкой своего сервера вы можете использовать любуюсистему управления сетью. Вы можете одновременно следить за двадцатьюэкземплярами сервера.
MIB содержит данные, применяемые для описания управляемого Web–сервера,данные о текущем и предыдущем состоянии сервера, а также о работе сервера.Кроме того, вы можете просматривать дополнительную информацию, например,имена переменных MIB, ИД объектов и описания.
Пользователь или программист посылает агенту SNMP команду GET. В ответ накоманду GET, полученную от агента SNMP, вспомогательный агент возвращаетзапрошенные данные MIB. Агент SNMP передает данные станции сетевогоуправления. Если достигаются указанные вами пороговые значения, то станцияуправления сетью может отправить вам уведомление.
Примечание: Протокол SNMP не рекомендуется использовать на общихсерверах сети Internet, поскольку содержащаяся в неминформация о вашем сервере не закрыта, и ею могутвоспользоваться злоумышленники.
SNMP – Включить/выключить SNMPДиректива SNMP предназначена для включения/выключения поддержки SNMP.
Пример
SNMP on
Значение по умолчанию
SNMP off
Данная директива применяется следующей формой:
¹ SNMP
SNMPCommunityName – Имя группы взаимодействия SNMPДиректива SNMPCommunityName определяет имя группы взаимодействия междувспомогательным агентом DPI сервера HTTP и вспомогательным агентом SNMP.Имя группы взаимодействия SNMP предоставляет пользователю права доступадля просмотра параметров производительности, отслеживаемых SNMP дляопределенной группы взаимодействия серверов. Конкретный набор параметров исписок серверов, данные о которых пользователь сможет просматривать послеввода пароля, определяется системным администратором. Если вы изменяетеимя группы взаимодействия SNMP, не забудьте настроить его с помощьюкоманды ADDCOMSNMP или CHGCOMSNMP с параметром ASCIICOM(*YES). Этогарантирует, что перед сравнением имени группы взаимодействия с именем,указанным в запросе диспетчера SNMP, оно будет преобразовано в форматASCII.
Директивы файла конфигурации сервера 161
Управление системой
Пример
SNMPCommunityName com_nam
Значение по умолчанию
SNMPCommunityName public
Данная директива применяется следующей формой:
¹ SNMP
WebMasterEmail – Электронный адрес для сообщений об ошибках,обнаруженных SNMP
Директива WebMasterEmail предназначена для создания электронного адреса, покоторому будут отправляться сообщения об ошибках, обнаруженных SNMP.
Пример
WebMasterEmail [email protected]
Значение по умолчанию
WebMasterEmail webmaster
Данная директива применяется следующей формой:
¹ SNMP
Управление системойСледующие директивы управляют работой сервера.
Для обработки каждого запроса выделяется отдельная нить сервера. (Еслипреобразование DNS не выполняется, то выделяется одна нить. Еслипреобразование DNS выполняется – две нити.) Перед обработкой запроса серверпроверяет, существуют ли свободные нити. Если такие нити существуют, серверпередает запрос одной из них. Если свободных нитей нет, а максимальное числоактивных нитей еще не достигнуто, сервер запускает для обработки запросановые нити. Если достигнуто максимальное число активных нитей, серверблокирует запрос до тех пор, пока не освободится какая–либо нить. Послеобработки запроса используемая им нить становится свободной. До наступлениятайм–аута удаления свободной нити эта нить будет доступна для повторногоиспользования.
Информацию о DNS и преобразовании имен доменов можно найти в разделеTCP/IP в AS/400 Information Center.
Если сервер в течение длительного времени без перерывов работает смаксимальным числом нитей, это может повлиять на быстродействие системы.Это временное явление, поскольку быстродействие восстанавливается приуменьшении числа обрабатываемых запросов.
162 Руководство администратора IBM HTTP Server для AS/400 V4R4
Управление системой
Снижение быстродействия системы означает, что в директиве MaxActiveThreadsуказано слишком большое значение.
Определите экспериментально, при каком максимальном числе нитей, указанномв директиве MaxActiveThreads, изменение числа активных нитей перестает влиятьна быстродействие сервера. Для начала попробуйте уменьшить указанноезначение в два раза. Учтите, что если сервер не может создать новую нить, онприостанавливает обработку запроса до освобождения одной из существующихнитей.
Примечание: Уменьшение значения в директиве MaxActiveThreads увеличиваетчисло соединений, отклоняемых при перегрузке сервера.Увеличение максимального числа нитей в директивеMaxActiveThreads, наоборот, уменьшает число соединений,отклоняемых сервером при достижении пиковой нагрузки, но приэтом снижается производительность системы. Оптимальноезначение должно обеспечивать одновременную обработкубольшого количества запросов без снижения общейпроизводительности.
Если снижение производительности обусловлено тем, что ваш сервер работаетслишком медленно, то это может объясняться следующими причинами:
¹ Быстродействием вашей сети Token–ring
¹ Нагрузкой локальной сети
¹ Числом клиентов, отправляющих запросы с вашего сервера
¹ Числом нитей, запущенных на вашем сервере
¹ Малой скоростью преобразования имен доменов сервером DNS (посмотрите,нельзя ли отключить преобразование имен доменов директивой DNS–Lookupoff).
С помощью директивы CacheLocalFile можно при запуске сервера загрузить в егопамять файлы, к которым обращаются наиболее часто. В директивахCacheLocalMaxBytes и CacheLocalMaxFiles можно задать максимальный объемпамяти и максимальное число файлов, загружаемых в кэш.
Директивы PersistTimeout и MaxPersistRequest предназначены для заданияхарактеристик постоянного соединения. Постоянные соединения позволяютсерверу обрабатывать несколько запросов с помощью одного соединения TCP/IP.Общая производительность при этом возрастает, так как серверу не нужноустанавливать для каждого запроса и ответа отдельное соединение TCP/IP. Крометого, соединение TCP/IP используется более эффективно, поскольку клиенты могутотправлять несколько запросов, не ожидая, пока сервер ответит на каждый изних.
Директивы файла конфигурации сервера 163
Управление системой
CacheLocalFile – Файлы, загружаемые в память при запускеВ данной директиве задаются имена файлов, загружаемых в память сервера приего запуске. В файле конфигурации может быть указано несколько таких директив.Для каждого файла, загружаемого в память, включите свою директиву.
Загрузка наиболее часто запрашиваемых файлов в память приводит кзначительному уменьшению времени ответа сервера. Например, если призапуске сервера загрузить в память начальные страницы сервера, то сервербудет обрабатывать запросы к этим страницам гораздо быстрее, чем в случаесчитывания их из файлов на диске. Помните, однако, что память, занимаемаяфайлом, становится недоступной для использования.
Перед тем как отвечать на запрос к файлу, который хранится в памяти, серверпроверяет, не был ли файл изменен после запуска сервера. Если файл былизменен, сервер выдаст по этому запросу измененный файл, а затем удалит изпамяти старую версию файла. Для того чтобы загрузить в память новый файл,необходимо перезапустить сервер.
Примечания:
1. В имени файла можно указывать символ подстановки – звездочку (*).
2. При поиске файла по шаблону сервер просматривает только указанныйкаталог. Поиск в подкаталогах не выполняется.
Пример
CacheLocalFile /www/html/index.html
В этом примере в директиве указывается конкретный файл, который будетзагружаться в память.
CacheLocalFile /www/smock/*.html
В этом примере в каталог smock будут загружаться все файлы .html.
Значение по умолчанию
Конфигурация по умолчанию включает директивы CacheLocalFile для всех файловHTML и графических файлов для начальной страницы IBM HTTP Server.
Данная директива применяется следующей формой:
¹ Локальный кэш
CacheLocalMaxBytes – Максимальный объем памяти, выделяемый длякэширования файлов
Данная директива задает максимальный объем памяти, выделяемый длякэширования файлов. Объем может задаваться в килобайтах (K) или мегабайтах(M). Файлы, которые должны загружаться в кэш–память, задаются в директивеCacheLocalFilesDirective.
164 Руководство администратора IBM HTTP Server для AS/400 V4R4
Управление системой
Примечание: Директива CacheLocalMaxBytes позволяет ограничить размеркэша, если имена файлов в директиве CacheLocalBytes задаются спомощью символа подстановки.
Пример
CacheLocalMaxBytes 500 K
Значение по умолчанию
CacheLocalMaxBytes 2 M
Данная директива применяется следующей формой:
¹ Локальный кэш
CacheLocalMaxFiles – Максимальное количество одновременнокэшируемых файлов
Данная директива задает максимальное число файлов, одновременнозагружаемых в кэш–память. Файлы, которые должны загружаться в кэш–память,указываются в директиве CacheLocalFiles.
Примечание: Директива CacheLocalMaxFiles позволяет ограничить размер кэша,если имена файлов в директиве CacheLocalFiles задаются спомощью символа подстановки.
Пример
CacheLocalMaxFiles 150
Значение по умолчанию
CacheLocalMaxFiles 200
Данная директива применяется следующей формой:
¹ Локальный кэш
DynamicCache – Включить/выключить динамическое кэшированиеДанная директива указывает, что сервер HTTP должен выполнять динамическоелокальное кэширование. Если динамическое кэширование включено(DynamicCache on), то файлы помещаются в кэш в зависимости от частотыобращения к ним.
Объем памяти, выделяемой для всех типов кэширования, определяетсядирективой CacheLocalMaxBytes. Объем памяти, доступной для динамическогокэширования, равен разности объемов памяти, выделяемой для файлов, которыеуказаны в директивах CachLocalMaxFiles и CacheLocalFile.
Пример
DynamicCache On
Значение по умолчанию
Директивы файла конфигурации сервера 165
Управление системой
DynamicCache Off
InputTimeout – Тайм–аут вводаДанная директива определяет время, предоставляемое клиенту для отправкизапроса после установления соединения с сервером. Сначала клиентустанавливает соединение с сервером, а затем отправляет запрос. Если клиент неотправил запрос в течение времени, указанного в данной директиве, серверпрерывает соединение. Время может задаваться в часах (hours), минутах (minutesили mins) и секундах (seconds или secs), а также в любых их сочетаниях.
Пример
InputTimeout 3 mins 30 secs
Значение по умолчанию
InputTimeout 2 minutes
Данная директива применяется следующей формой:
¹ Тайм–ауты
LiveLocalCache – Обновление кэша при изменении файла, хранящегося вкэше
Данная директива указывает, нужно ли обновлять кэш при изменениихранящегося в нем файла. Если вы хотите, чтобы пользователи получали самуюновую версию файла, укажите директиву со значением ON. С точки зренияпроизводительности значение OFF более предпочтительно.
Начальное значение
LiveLocalCache off
Значение по умолчанию
LiveLocalCache off
Данная директива применяется следующей формой:
¹ Локальный кэш
MaxActiveThreads – Максимальное число активных нитейДанная директива задает максимальное число нитей, которые могут бытьактивными одновременно. При достижении максимального числа нитей серверблокирует новые запросы до тех пор, пока не будет выполнен один из текущихзапросов и не освободится какая–либо нить.
Пример
MaxActiveThreads 36
Значение по умолчанию
166 Руководство администратора IBM HTTP Server для AS/400 V4R4
Управление системой
MaxActiveThreads 40
Данная директива применяется следующими формами:
¹ Глобальные параметры сервера
¹ Изменить параметры экземпляра
¹ Параметры производительности
MaxPersistRequest – Максимальное число запросов по одному постоянномусоединению
Данная директива задает максимальное число запросов, принимаемых серверомпо одному постоянному соединению. При определении данного числа следуетучитывать расположенные на страницах изображения. Для каждого изображениятребуется отдельный запрос.
Формат этой директивы следующий:
MaxPersistRequest число
где число – число запросов, принимаемых сервером по одному постоянномусоединению.
Значение по умолчанию
MaxPersistRequest 5
Данная директива применяется следующей формой:
¹ Параметры производительности
MinActiveThreads – Минимальное число существующих нитейДанная директива задает минимальное число нитей AS/400, создаваемых дляобработки запросов.
Пример
MinActiveThreads 30
Значение по умолчанию
MinActiveThreads 10
Данная директива применяется следующими формами:
¹ Глобальные параметры сервера
¹ Изменить параметры экземпляра
¹ Параметры производительности
Директивы файла конфигурации сервера 167
Управление системой
OutputTimeout – Тайм–аут выводаДанная директива устанавливает максимальное время для отправки серверомответа клиенту. Это ограничение по времени относится к запросам на локальныефайлы. Ограничение по времени не влияет на запросы, для которых запускаетсялокальная программа CGI.
Если сервер не отправляет полный запрос в течение времени, указанного вданной директиве, соединение прерывается. Время может задаваться в часах(hours), минутах (minutes или mins) и секундах (seconds или secs), а также влюбых их сочетаниях.
Пример
OutputTimeout 10 minutes
Значение по умолчанию
OutputTimeout 20 minutes
Данная директива применяется следующей формой:
¹ Тайм–ауты
PersistTimeout – Тайм–аут неактивного постоянного соединенияДанная директива задает интервал времени, по истечении которого серверпрерывает постоянное соединение, если не получает запрос от клиента.
Еще один тайм–аут (тайм–аут ввода) используется для задания времени ожиданияпоступления первого запроса от клиента после установления соединения.Дополнительная информация о тайм–ауте ввода приведена в разделе“InputTimeout – Тайм–аут ввода” на стр. 166.
После того как сервер отправляет ответ на первый запрос, время ожиданияпоследующего запроса определяется тайм–аутом неактивного постоянногосоединения. Если в течение этого времени запрос не поступит, сервер прерываетсоединение.
Формат этой директивы следующий:
PersistTimeout интервал–времени
где интервал–времени – интервал времени, задаваемый в любых единицах(обычно в секундах или минутах).
Пример
PersistTimeout 2 minutes
Значение по умолчанию
PersistTimeout 4 seconds
Данная директива применяется следующей формой:
168 Руководство администратора IBM HTTP Server для AS/400 V4R4
¹ Параметры производительности
ScriptTimeout – Тайм–аут сценариевДанная директива задает промежуток времени для завершения программы,запущенной сервером. По истечении этого времени задание серверазавершается. Время может задаваться в часах (hours), минутах (minutes илиmins) и секундах (seconds или secs), а также в любых их сочетаниях.
Пример
ScriptTimeout 3 mins
Начальное значение
ScriptTimeout 45 minutes
Данная директива применяется следующей формой:
¹ Тайм–ауты
UseACLs – Применять файлы ACLДанная директива указывает, должны ли проверяться файлы ACL для защитыфайла. Для повышения производительности сервера задайте в этой директивепараметр never или protect only. Формат этой директивы следующий:
UseACLs параметры
Значения параметров могут быть следующими: always, protect only или never; ихописание приведено ниже:
always При поступлении запроса сервер всегда будет искать файл ACL.
protect only Сервер будет искать файл ACL только при получении запроса кфайлу, указанному в директиве защиты.
never Сервер никогда не будет искать файл ACL.
Пример
UseACLs always
Значение по умолчанию
UseACLs protectonly
Данная директива применяется следующей формой:
¹ Параметры производительности
Оценки для Web–сайтаС помощью стандарта PICS пользователи приложений Internet (таких как WWW,FTP и Gopher) могут отфильтровывать найденные документы. Получаемые по сетидокументы могут приниматься или отклоняться на основании заранее заданных
Директивы файла конфигурации сервера 169
критериев оценки. Система фильтрации позволяет блокировать доступпользователей к нежелательным или посторонним материалам. Наиболее свежуюинформацию о PICS можно найти на Web–сайте World Wide Web Consortium'sPICS по адресу http://www.w3.org/pub/WWW/PICS/:
¹ Создатели Web–сайтов (авторы публикаций, размещаемых на Web–сайтах)могут заказать оценки и метки для своих документов (файлов HTML,графических или звуковых файлов, либо файлов, содержащих движущиесяизображения.
¹ Независимые службы оценок могут выполнять оценки и создавать меткидокументов, публикуемых на других Web–сайтах, а также рассылать их всемжелающим.
¹ Пользователи Internet (браузеры и другие клиенты) могут запрашивать этиметки и определять параметры информации, для которой выполнялисьоценки.
Сервер HTTP облегчает хранение и обслуживание меток, создаваемых службойоценки для публикуемых вами документов. Он также позволяет создаватьсобственные службы оценки, предоставляя средства для обслуживания ирассылки меток на другие Web–сайты.
LabelsFor – Задать оценки для документов сайтаВ этой директиве указываются оценки, присвоенные конкретной службой оценокдля документов данного Web–сервера. Она указывается в файле конфигурации/QIBM/UserData/HTTPSVR/PICS/Config/ICS_PICS.CNF.
Формат
LabelsFor имя–сервера имя–службы {
/WebPath1/doc1 /путь/файл–меток1
/WebPath2/doc2 /путь/файл–меток2
.
.
.
}
имя–сервераВы можете задать ключевое слово LOCAL, чтобы указать, что документынаходятся на этом сервере, или задать полный адрес URL, если оцениваемыедокументы находятся на удаленном сервере. URL не должен заканчиватьсясимволом косой черты.
службаПолный адрес, по которому клиенты будут отправлять запросы на получениеметок.
/WebPath/docПуть и URL для оцениваемого документа. Можно использовать символыподстановки (*).
170 Руководство администратора IBM HTTP Server для AS/400 V4R4
/путь/файл–метокПолное имя файла меток в вашей системе. Символы подстановки (*)использовать нельзя. Можно указывать ключевое слово NOTLABELED.
Данная директива применяется следующей формой:
¹ Работа с метками PICS для других Web–сайтов
DefineService – Показать локальные файлы меток, полученные отнезависимой службы оценок
В данной директиве задаются локальные файлы меток, связанные с независимойслужбой оценок. Она указывается в файле конфигурации/QIBM/UserData/HTTPSVR/PICS/Config/ICS_PICS.CNF.
Формат
DefineService служба имя–службы файл–оценок {
LABELFILE /путь/файл–меток1 "описание"
LABELFILE /путь/файл–меток2 "описание"
.
.
.
}
службаURL службы оценок.
имя–службыИмя службы оценок в кавычках.
файл–оценокПолное имя файла RAT в вашей системе.
/путь/файл–метокПолное имя файла меток в вашей системе.
описаниеТекст описания метки в кавычках.
Данная директива применяется следующей формой:
¹ Запрашивать независимые службы оценок
¹ Работа с метками PICS для вашего Web–сайта
¹ Запрашивать метки у независимых служб оценок
DefineLBService – Показать локальные файлы меток, полученные отсобственной службы оценок
В данной директиве задаются локальные файлы меток, связанные с собственнойслужбой оценок. Она указывается в файле конфигурации/QIBM/UserData/HTTPSVR/PICS/Config/ICS_PICS.CNF.
Директивы файла конфигурации сервера 171
Формат
DefineLBService служба имя–службы файл–оценок {
LABELFILE /путь/файл–меток1 "описание"
LABELFILE /путь/файл–меток2 "описание"
.
.
.
}
службаURL службы оценок.
имя–службыИмя службы оценок в кавычках.
файл–оценокПолное имя файла RAT в вашей системе.
/путь/файл–метокПолное имя файла меток в вашей системе.
описаниеТекст описания метки в кавычках.
Данная директива применяется следующими формами:
¹ Регистрация собственной службы оценок
¹ Работа с метками PICS для других Web–сайтов
¹ Метки PICS для собственной службы оценок
Настройка защиты от атак, приводящих к отказу в обслуживанииС помощью директив, описанных в этом разделе, можно указывать серверу, какон должен определять атаки типа отказ в обслуживании, и как на нихреагировать. Эти атаки могут приводить к тому, что Web–сервер откажетсяобслуживать запросы. Для всех директив устанавливаются значения поумолчанию, но при необходимости вы можете изменять их.
Сервер может обнаружить атаку, приводящую к отказу в обслуживании, измеряятайм–ауты запросов определенных клиентов. Если после установленияпервоначального соединения сервер не получает от клиента запрос, он полагает,что происходит атака, которая может привести к отказу в обслуживании.
Все перечисленные ниже директивы работают совместно и определяют, по какимпризнакам сервер должен обнаруживать атаку, и как на нее реагировать. Все этидирективы взаимосвязаны, поэтому обязательно ознакомьтесь со всеми ими ирешите, как они должны применяться на вашем сервере.
Примечание: Если вы планируете собирать статистику, то отключите процедуруобнаружения атак, приводящих к отказу в обслуживании. См.
172 Руководство администратора IBM HTTP Server для AS/400 V4R4
описание директивы “DenialOfServiceThreshold – Порогобнаружения атаки” на стр. 174.
DenialOfServicePenalty – Меры, принимаемые при обнаружении атакиС помощью данной директивы можно уменьшить для вашего серверапоследствия атаки, приводящей к отказу в обслуживании. Признаки, по которымсервер должен обнаруживать атаку, задаются в директивеDenialOfServiceThreshold.
Если установить слишком низкий порог обнаружения атаки (в директивеDenialOfServiceThreshold), то сервер может принять за нарушителя защитыклиент, который таковым не является. Сервер может ошибочно решить, чтопользователи одного и того же брандмауэра или маршрутизатора – это одинклиент, пытающийся осуществить атаку. Если при этом сервер полностьюотключит этот маршрутизатор или брандмауэр, то определенному числу обычныхпользователей, вошедших в систему на вполне законных основаниях, будетотказано в обслуживании. Хотя при этом возможный нарушитель будет отключен,пострадают все пользователи, отправляющие запросы через этот брандмауэр илимаршрутизатор.
При обнаружении атаки сервер уменьшает долю максимального числа активныхнитей, которые могут быть использованы клиентом–нарушителем, в соответствиисо значением, указанным в данной директиве. Эта мера в отношении нарушителябудет действовать, пока не истечет указанный в директиве интервал времени, ине возникнет дополнительный тайм–аут этих клиентов.
Число процентов относится ко всем атакам. Например, если три разныхпользователя (определенные как клиенты с тремя различными IP–адресами)одновременно пытаются нарушить защиту, то они не смогут получить стопроцентов ресурсов сервера. Каждому из них будет выделена некоторая доля отоставшихся ресурсов сервера. Следовательно, сервер сможет прекратитьорганизованную многопользовательскую атаку, приводящую к отказу вобслуживании.
Дополнительная информация о максимальном числе нитей, которые могутзапускаться на сервере, приведена в разделе “MaxActiveThreads – Максимальноечисло активных нитей” на стр. 166.
Формат этой директивы следующий:
DenialOfServicePenalty процент интервал–времени
процентДоля (в процентах) числа нитей сервера, которую разрешено использоватьнарушителям защиты.
Директивы файла конфигурации сервера 173
интервал–времениИнтервал времени, в течение которого действуют ограничения. Этопромежуток времени между последним тайм–аутом и моментом, когданарушителю снова будет разрешен неограниченный доступ к нитям сервера.
Пример
DenialOfServicePenalty 8 30 minutes
В приведенном примере нарушителю разрешены только такие соединения,которые используют не более 8% от максимального числа активных нитейсервера. Остальные 92% нитей сервера используются для обработки другихзапросов. Эта мера действует в течение 30 минут после последнего тайм–аутанарушителя защиты.
Начальное значение
Нет.
Значение по умолчанию
DenialOfServicePenalty 10 20 minutes
Данная директива применяется следующей формой:
¹ Отказ в обслуживании
DenialOfServiceThreshold – Порог обнаружения атакиДанная директива задает допустимое число тайм–аутов в течение данногоинтервала времени. В общем случае тайм–аут – это промежуток времени, втечение которого сервер ожидает поступления данных от отправителя запроса,или интервал времени, необходимый серверу для отправки файла. Серверотслеживает три типа тайм–аутов:
¹ Тайм–аут ввода (см. раздел “InputTimeout – Тайм–аут ввода” на стр. 166)
¹ Тайм–аут вывода (см. раздел “OutputTimeout – Тайм–аут вывода” на стр. 168)
¹ Тайм–аут сценариев (см. раздел “ScriptTimeout – Тайм–аут сценариев” настр. 169)
Если большинство ваших клиентов получают доступ к серверу через брандмауэрыили маршрутизаторы, в которых предусмотрена система обнаружения атак,приводящих к отказу в обслуживании, то вам не обязательно использоватьданную систему защиты. Кроме того, сервер с настройками по умолчанию можетошибочно регистрировать атаку и пытаться ограничивать доступ, когда он недолжен этого делать. Если большая часть запросов к вашему серверу поступаетчерез брандмауэр или сервер Proxy, то в данной схеме защиты множествопользователей может быть принято за одного.
Формат этой директивы следующий:
DenialOfServiceThreshold число–тайм–аутов интервал–времени
174 Руководство администратора IBM HTTP Server для AS/400 V4R4
число–тайм–аутовДопустимое число тайм–аутов. По умолчанию равно 5. Если вы не хотите,чтобы сервер отслеживал попытки атак, укажите значение 0.
интервал–времениИнтервал времени перед отказом в обслуживании. Время может задаватьсяв виде любой комбинации часов, минут и секунд. По умолчаниюустанавливается интервал, равный 1 минуте.
Пример
DenialOfServiceThreshold 7 2 minutes
В данном примере сервер разрешает только семь тайм–аутов для клиента (суникальным IP–адресом), отправляющего запрос, в течение двух минут. Если задве минуты, отсчитываемые от момента первого тайм–аута, происходит восьмойтайм–аут, то сервер считает этого клиента потенциальным нарушителем защиты.Если восьмой тайм–аут происходит после истечения этого двухминутногоинтервала, сервер будет обрабатывать этот запрос как обычно.
Начальное значение
Нет.
Значение по умолчанию
DenialOfServiceThreshold 5 1 minute
Данная директива применяется следующей формой:
¹ Отказ в обслуживании
DenialOfServiceTrusted – Имена или IP–адреса известных маршрутизаторови брандмауэров, которые не могут быть источником атаки
С помощью этой директивы серверу сообщается имя и IP–адрес маршрутизатораили брандмауэра, имеющего собственную систему обнаружения и защиты от атак,приводящих к отказу в обслуживании. При этом исключается ситуация, когдасервер воспринимает нескольких пользователей, отправляющих запросы помаршруту с одним адресом, как одного нарушителя защиты. Эта директивауказывает серверу, что при получении запросов от таких защищенныхбрандмауэров и маршрутизаторов нет необходимости принимать меры по защитеот атак, приводящих к отказу в обслуживании.
В этой директиве можно задавать имя домена или IP–адрес. Если вы указываетеимя домена (например, www.host77.com), то для преобразования его в IP–адреснеобходим сервер имен доменов (DNS). Если задается IP–адрес (например,9.87.654.3), то сервер имен доменов не требуется. Дополнительную информациюоб указании имен доменов или IP–адресов вы найдете в приведенных нижепримерах.
Если несколько пользователей получают доступ к вашему серверу с одногокомпьютера (с одним IP–адресом), то всегда есть вероятность, что ваша схема
Директивы файла конфигурации сервера 175
обнаружения атак, приводящих к отказу от обслуживания, может совершитьошибку, приняв обычного пользователя за нарушителя защиты. Большинствобрандмауэров и маршрутизаторов имеют собственные встроенные схемыобнаружения и предотвращения атак, приводящих к отказу в обслуживании.Поэтому вы можете рассчитывать, что эти маршрутизаторы и брандмауэры небудут источниками атаки на ваш сервер.
Формат этой директивы следующий:
DenialOfServiceTrusted имя–сервера–или–IP–адрес
имя–сервера–или–IP–адресИмя "надежного" хоста или его IP–адрес.
Примеры
DenialOfServiceTrusted myrouter
В примере используется имя домена. В этом примере серверу разрешаетсяобрабатывать все запросы от хоста myrouter, не используя при этом процедурыобнаружения и защиты от атак, приводящих к отказу от обслуживания. Для тогочтобы сервер полностью обрабатывал эту директиву, необходимо определить хостmyrouter в таблице хостов сервера DNS перед запуском или перезапускомэкземпляра сервера.
Если сервер DNS не может распознать это имя хоста, или если его нельзязапустить при запуске экземпляра сервера, то в этой директиве можно указатьIP–адрес хоста:
DenialOfServiceTrusted 12.345.6.789
В этом примере указывается IP–адрес. Это IP–адрес хоста, имя которогоуказывалось в предыдущем примере. Если указан IP–адрес, сервер DNS нетребуется.
Начальное значение
Нет.
Значение по умолчанию
Нет.
Данная директива применяется следующей формой:
¹ Отказ в обслуживании
176 Руководство администратора IBM HTTP Server для AS/400 V4R4
Настройка протоколов
Настройка протоколов
Настройка протоколов, хранящихся на вашем сервере . . . . . . . . . . . . 178Указание глобальных значений параметров для всех протоколов . . . . . 179
Соглашения по умолчанию . . . . . . . . . . . . . . . . . . . . . . . . . 179Директивы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
Указание максимального размера файлов протоколов . . . . . . . . . . . 180Указание опций для протоколов доступа, браузеров и ссылок . . . . . . . 180
Указание путей к протоколам доступа, браузеров и ссылок . . . . . . . 180Установка фильтров для протоколов доступа, браузеров и ссылок . . . 181
Указание опций протоколов ошибок . . . . . . . . . . . . . . . . . . . . . 183Указание пути к протоколам ошибок и протоколам ошибок CGI . . . . 183
Пример сценария настройки файлов протоколов . . . . . . . . . . . . . . 183Формы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183Директивы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
Указание пути к протоколу доступа к кэшу сервера Proxy . . . . . . . . . 184Директивы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
В IBM HTTP Server предусмотрены следующие типы протоколов:
¹ Протоколы доступа
¹ Протоколы браузеров
¹ Протоколы доступа к кэшу (если ваш сервер работает как Proxy–сервер скэшем)
¹ Протоколы ошибок CGI
¹ Протоколы ошибок
¹ Протоколы доступа к Proxy
¹ Протоколы ссылок
Описание общего формата протокола можно найти на Web–страницеhttp://www.w3.org/Daemon/User/Config/Logging.html, а расширенного форматапротокола – на Web–странице http://www.w3c.org/TR/WD–logfile. Протоколы доступаи протоколы ошибок можно создавать как в общем формате, так и в форматеDDS. Все остальные протоколы создаются сервером в общем формате.
Для протоколов доступа можно устанавливать фильтры и создавать отчеты,которые пригодятся при анализе информации, содержащейся в этих протоколах.Для всех типов протоколов можно задавать следующую информацию:
¹ Имя протокола
¹ Где сервер должен хранить данный протокол
¹ Максимальный размер протокола
В данной главе описывается, как настраивать протоколы доступа и ошибок и каксоздавать специальные отчеты на основе информации из протоколов.
Copyright IBM Corp. 1997, 1999 177
Настройка протоколов
Настройка протоколов, хранящихся на вашем сервереСервер создает протоколы различных типов. Ежедневно в полночь серверзакрывает все файлы протоколов прошедшего дня и создает новые.
Сервер регистрирует все операции в файлах протокола доступа и еженощносохраняет эти файлы. В полночь сервер закрывает текущий протокол доступа исоздает новый. В протокол доступа заносятся записи обо всех запросах,получаемых сервером.
Для каждого полученного запроса сервер создает в протоколе доступа запись, вкоторой указано:
¹ Что запросил клиент
¹ Когда клиент создал запрос
¹ Кто отправил запрос
¹ Способ запроса
¹ Тип файла, отправленного сервером в ответ на запрос
¹ Код возврата, указывающий, был ли запрос обработан сервером
Сервер может создавать протокол браузеров и протокол ссылок. В протоколбраузеров заносится название Web–браузера, с помощью которого клиентзапрашивает Web–ресурсы; в протокол ссылок – адрес Web–страницы, с которойбыли запрошены ресурсы вашего сервера. По умолчанию сервер создает впротоколах браузеров и ссылок запись для каждого запроса, полученного отклиента. Одновременно соответствующая запись делается и в протоколе доступа:
¹ Протокол браузеров содержит соответствующую запись, которая указывает, спомощью какого браузера пользователь просматривает запрошенныестраницы или файлы.
¹ Протокол ссылок можно содержит соответствующую запись с адресом Web–страницы, с которой были запрошены ресурсы вашего сервера.
По умолчанию сервер создает в протоколе ссылок запись для каждого запроса,полученного от клиента. При этом каждой записи в протоколе доступасоответствует одна запись в протоколе ссылок, указывающая, на какой именностранице была ссылка на страницу, запрошенную клиентом. Если страницы соссылкой нет, то в записи будет указана пустая строка (" "). Запросы кизображениям и другим файлам заносятся в протокол отдельно.
Сервер создает протокол ошибок, в который заносятся записи обо всехобнаруженных ошибках, таких как тайм–аут или отказ в доступе.
Кроме того, сервер создает протокол ошибок CGI, в который направляетсястандартный вывод сообщений об ошибках (stderr) программ CGI.
Если сервер работает как сервер Proxy, то он может создавать протоколы двухразличных типов:
178 Руководство администратора IBM HTTP Server для AS/400 V4R4
Настройка протоколов
¹ Протокол доступа к Proxy, в котором регистрируются запросы на доступ кфайлам, поступающим от сервера Proxy
¹ Протокол доступа к кэшу, в котором регистрируются запросы на доступ кфайлам, поступающим из кэша сервера Proxy
В данном разделе описывается, как настроить протоколы в соответствии свашими требованиями. Если вас устраивают значения параметров, установленныепо умолчанию, то вы можете пропустить этот пункт. Найдите нужные вам разделы:
1. “Указание глобальных значений параметров для всех протоколов” –изменение глобальных значений параметров, установленных по умолчанию.
2. “Указание опций для протоколов доступа, браузеров и ссылок” на стр. 180 –настройка протоколов доступа, браузеров и ссылок.
3. “Указание опций протоколов ошибок” на стр. 183 – создание пути кпротоколам ошибок и ошибок CGI.
4. “Указание пути к протоколу доступа к кэшу сервера Proxy” на стр. 184 –создание пути к протоколу доступа к кэшу сервера Proxy.
Примечание: Изменить значения параметров протоколов, установленные поумолчанию, можно двумя способами: либо задать их с помощьюэлектронных форм настройки и управления, либо вручнуюотредактировать директивы в файле конфигурации.
Указание глобальных значений параметров для всех протоколовВ большинстве случаев можно оставить установленные по умолчанию глобальныезначения параметров, которые применимы ко всем протоколам.
Если вы изменяете глобальные значения параметров, то вам рекомендуетсявоспользоваться формой Глобальная конфигурация файла протокола.
Соглашения по умолчаниюWeb–серверы применяют общий формат файла и формат локального времени.Большинство Web–серверов применяют общий формат файла. По умолчаниюсервер заносит информацию протокола доступа только в протокол доступа, аинформацию протокола ошибок – только в протокол ошибок.
ДирективыДля глобальной настройки процедур занесения данных в протоколы и созданияотчетов на вашем сервере отредактируйте следующие директивы:
¹ Для указания системного времени – директиву LogTime
¹ Для указания формата файлов – директиву LogFormat
Примечание: Перенести сохранение протоколов, выполняемое в полночь, надругое время нельзя.
Настройка протоколов 179
Настройка протоколов
Указание максимального размера файлов протоколовМаксимальный размер файла протокола можно задавать в директивах файлапротокола с помощью необязательного параметра [максимальный–размер]. Еслиуказать нулевое значение (0), то сервер не будет устанавливать никакихограничений на размер файла протокола. Нулевой размер файла необходимоуказывать в случае, если задаются директивы ErrorLogArchive и AccessLogArchive,поскольку утилита архивирования протоколов сервера HTTP выполняетежедневное обслуживание протоколов.
Если размер файла достигает максимального значения, то сервер закрывает этотфайл и отправляет предупреждающее сообщение TCP7201 из файла сообщенийQHTTPSVR/QHTTPMSG. С этого момента сервер не может заносить в файлпротокола какие–либо записи. Для того чтобы сервер мог продолжать заноситьинформацию в протокол, вам необходимо выполнить одно из следующих трехдействий:
1. Изменить максимальный размер файла протокола в директиве занесения впротокол
2. Сохранить файл протокола, размер которого достиг максимального значения,в архиве и затем удалить его
3. Изменить директиву занесения в протокол, указав в ней новое имя файлапротокола
Примечание: После выполнения любого из этих действий необходимо повторнозапустить сервер. Для этого можно использовать форму Работа сэкземплярами сервера. Дополнительная информация о повторномзапуске сервера приведена в электронной справке по формеРабота с экземплярами сервера. Найдите эту форму в разделеЭкземпляры сервера форм настройки и управления.
Указание опций для протоколов доступа, браузеров и ссылокВ этом разделе обсуждаются следующие задачи:
¹ “Указание путей к протоколам доступа, браузеров и ссылок”
¹ “Установка фильтров для протоколов доступа, браузеров и ссылок” настр. 181
Указание путей к протоколам доступа, браузеров и ссылокПуть и имя каталога, в котором будут храниться файлы протоколов доступа,браузеров и ссылок, можно задать в форме Конфигурация файла протоколадоступа.
Директивы: Для указания путей к протоколам на вашем сервере воспользуйтесьследующими директивами:
1. Директива AccessLog – для указания пути к протоколу доступа.
2. Директива AgentLog – для указания пути к протоколу браузеров.
3. Директива RefererLog – для указания пути к протоколу ссылок.
180 Руководство администратора IBM HTTP Server для AS/400 V4R4
Настройка протоколов
Установка фильтров для протоколов доступа, браузеров иссылокДля того чтобы в протоколы доступа, браузеров и ссылок заносилась только таинформация, которая вам нужна, можно задать для них фильтры.
Для более эффективного использования протоколов доступа, браузеров и ссылоквы можете фильтровать заносимую в них информацию, т.е. исключать записи,соответствующие заданному шаблону. Для задания фильтров рекомендуетсяиспользовать форму Конфигурация файла протокола доступа. Можно такжевключить директивы для фильтров в файл конфигурации вручную. Можно задатьследующие критерии фильтрации:
¹ URL (каталоги и файлы)
¹ IP–адрес или имя хоста
¹ Браузер(ы)
¹ Метод
¹ Тип MIME
¹ Код возврата
Примечание: Помните, что информацию, которая из–за установки фильтра непопадает в протокол доступа, невозможно будет включить ни водин отчет или использовать в дальнейшем.
Есть несколько причин, по которым необходим контроль за заполнениемпротоколов сервера.
Как уменьшить объем протокола: Вы можете минимизировать число записей,заносимых в протокол доступа, чтобы в протоколе регистрировалась толькодействительно важная информация о запросах на доступ. Объем файловпротокола доступа может расти очень быстро, так как по умолчанию в этотпротокол заносятся записи для всех запросов на доступ: для изображений GIF,страниц HTML и т.п. Можно настроить протоколы доступа таким образом, чтобы вних заносилась информация о запросах на доступ к страницам HTML, но не кизображениям GIF в файлах HTML. Например, страница HTML может содержатьнесколько изображений GIF, и если заносить информацию об каждом обращениик ним в протокол, то это может привести к резкому увеличению его размера.
Как регистрировать только те запросы, которые поступают из внешней сети:Вы можете отслеживать только те запросы, которые поступают на ваш сервер извнешней сети. В этом случае с помощью фильтра вы можете исключить запросына доступ, поступающие с IP–адресов из внутренней сети вашей компании.
Как получать информацию о клиентах, обращающихся к определенномуWeb–сайту: Для того чтобы оценить посещаемость определенного Web–сайта, выможете создать протокол доступа, который будет отражать число обращений поодному адресу URL.
Настройка протоколов 181
Настройка протоколов
Соглашения по умолчанию: По умолчанию, пока вы не установилиисключающий фильтр, в протокол доступа заносится вся информация полностью.Фильтры для протокола доступа можно задавать с помощью формыКонфигурация файла протокола доступа. Не обязательно заполнять всю формуцеликом.
Прокрутите форму до раздела Исключения из протокола доступа. Выберитеэлементы, по которым будет проводиться фильтрация:
¹ Каталоги и файлы
¹ Имена хостов или IP–адреса
¹ Браузеры
¹ Методы (GET или POST)
¹ Типы MIME (изображения, текст, приложения, аудио–, видео– илимультимедийная информация и т.д.)
¹ Код возврата (успешное выполнение, перенаправление, ошибка клиента,ошибка сервера)
Если вы хотите задать фильтрацию по каталогам и файлам или по IP–адресам иименам хостов, то вы должны обновить список индексов в форме Конфигурацияфайла протокола доступа. Вы можете добавлять и удалять записи в этом спискепо своему усмотрению. Для того чтобы в протокол не заносилась информация ометодах, типах MIME или кодах возврата, щелкните на переключателях, которыесоответствуют этим элементам данных.
После того как вы зададите все необходимые фильтры в форме Конфигурацияфайла протокола доступа, нажмите кнопку Применить, и сделанные изменениявступят в силу.
Директивы:
¹ Для исключения файлов или каталогов в соответствии с заданным шаблономизмените директиву AccessLogExcludeURL.
¹ Для исключения записей об определенном методе измените директивуAccessLogExcludeMethod.
¹ Для исключения записей об определенном браузере измените директивуAccessLogExcludeUserAgent.
¹ Для исключения записей о конкретном типе MIME измените директивуAccessLogExcludeMimeType.
¹ Для исключения записей, содержащих определенные коды возврата,измените директиву AccessLogExcludeReturnCode.
182 Руководство администратора IBM HTTP Server для AS/400 V4R4
Настройка протоколов
Указание опций протоколов ошибокВ данном разделе обсуждается следующая задача:
¹ “Указание пути к протоколам ошибок и протоколам ошибок CGI”
Указание пути к протоколам ошибок и протоколам ошибок CGIПуть и имя каталога, в котором будут храниться протоколы ошибок и протоколыошибок CGI, можно задать, либо воспользовавшись формой Конфигурацияфайла протокола ошибок, либо вручную изменив указанную ниже директиву.
Директивы: Для указания пути измените директиву ErrorLog.
Пример сценария настройки файлов протоколовВ следующем примере предполагается, что вы уже приобрели и установилипродукт IBM HTTP Server. В примере выполняется настройка протоколов доступаи протоколов ошибок для сервера со следующими опциями:
¹ В обоих типах протоколах будет применяться локальное системное время иобщий формат файла протокола.
¹ В протоколе доступа не будут регистрироваться следующие запросы:
– Запросы на изображения GIF
– Запросы от хостов с IP–адресами вида 9.67.*.*
– Запросы на перенаправление (запросы с кодом возврата в интервале от300 до 399)
Эти критерии фильтрации можно задать, либо воспользовавшись формаминастройки и управления, либо вручную изменив директивы файла конфигурации.
Формы¹ В форме Глобальные значения параметров конфигурации файла задайте
формат времени и файла.
¹ В форме Конфигурация файла протокола доступа задайте следующиеопции:
– Исключите запросы к изображениям GIF
– Исключите запросы от хостов с IP–адресами вида 9.67.*.*
– Исключите запросы с кодом возврата в интервале от 300 до 399
– Укажите путь к файлу протокола доступа
ДирективыДля сценария, приведенного выше, директивы файла конфигурации нужноизменить следующим образом:
Настройка протоколов 183
Настройка протоколов
LogFormat Common
LogTime LocalTime
AccessLogExcludeURL *.gif
NoLog 9.67.*.*
AccessLogExcludeReturnCode 300
Указание пути к протоколу доступа к кэшу сервера ProxyЕсли ваш сервер работает как Proxy–сервер, то запросы к кэшу можнорегистрировать отдельно от других запросов.
Путь и имя файла, в котором сервер должен регистрировать запросы на доступ ккэшу сервера Proxy, можно задать, либо воспользовавшись формойКонфигурация файла протокола доступа, либо вручную изменив директивы вфайле конфигурации.
Более подробная информация приведена в разделе “Ведение протоколов” настр. 66.
ДирективыЗадайте путь к протоколу доступа к кэшу в директиве CacheAccessLog, вдополнение к тем, что описаны в разделе “Ведение протоколов” на стр. 66.
184 Руководство администратора IBM HTTP Server для AS/400 V4R4
Защита сервера IBM HTTP Server
Copyright IBM Corp. 1997, 1999 185
186 Руководство администратора IBM HTTP Server для AS/400 V4R4
Защита сервера
Защита сервера
Защита сервера . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188Применение директив защиты и управления доступом . . . . . . . . . . . 189
Правило отказа по умолчанию . . . . . . . . . . . . . . . . . . . . . . . 189Явное разрешение программ CGI . . . . . . . . . . . . . . . . . . . . . 190Разрешение запуска только программ CGI . . . . . . . . . . . . . . . . 190Поддержка сервером только операций чтения . . . . . . . . . . . . . . 190Порядок применения правил . . . . . . . . . . . . . . . . . . . . . . . . 190Применение директивы Fail . . . . . . . . . . . . . . . . . . . . . . . . 191Учет регистра символов в директивах преобразования . . . . . . . . . 191
Этап 1. Активация защиты . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192Этап 2. Фильтрация запросов . . . . . . . . . . . . . . . . . . . . . . . . . . . 193Этап 3. Выбор типа защиты . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
Защита с помощью идентификации по имени пользователя и паролю . . . 194Идентификация клиентов SSL . . . . . . . . . . . . . . . . . . . . . . . . . 194Защита с помощью шаблона адреса . . . . . . . . . . . . . . . . . . . . . 195Обработка запроса на сервере . . . . . . . . . . . . . . . . . . . . . . . . 195
Этап 4. Создание конфигураций защиты . . . . . . . . . . . . . . . . . . . . . 197Идентификация конфигурации защиты для клиентов . . . . . . . . . . . . 198Указание типа идентификации . . . . . . . . . . . . . . . . . . . . . . . . . 199Указание контрольного списка . . . . . . . . . . . . . . . . . . . . . . . . 199Ссылка на файл групп сервера . . . . . . . . . . . . . . . . . . . . . . . . 200Указание допустимых имен пользователей, групп и адресов . . . . . . . . 200
Правила указания имен пользователей, групп и шаблонов адресов . . 201Создание конфигураций защиты для идентификации клиентов SSL . . . . 203
Примеры . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204Рекомендации по настройке идентификации клиентов SSL в
конфигурации защиты . . . . . . . . . . . . . . . . . . . . . . . . . . . 205Этап 5. Ограничение доступа к конкретным файлам . . . . . . . . . . . . . . 205Этап 6. Защита от атак, приводящих к отказу в обслуживании . . . . . . . . 206Работа с файлами групп сервера . . . . . . . . . . . . . . . . . . . . . . . . 207Работа с файлами списков управления доступом (ACL) . . . . . . . . . . . . 208
Рекомендации по настройке идентификации клиентов SSL в ACL . . . . . 209Пример защиты . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210
Итак, вы открыли свой Web–сайт, и теперь к документам, хранящимся на вашемсервере, может обратиться любой пользователь Internet. Однако при этомвозникает и определенный риск – риск повышенного внимания к вашей системесо стороны отдельных категорий пользователей Internet. Они могут пытатьсяподбирать пароли, изменять и запускать файлы, либо пытаться получить доступ кконфиденциальной информации. Данная глава посвящена защите сервера IBMHTTP Server.
Copyright IBM Corp. 1997, 1999 187
Защита сервера
Защита сервераЭтот раздел посвящен планированию защиты сервера HTTP. Более подробнаяинформация приведена в разделе Internet и защита сетей AS/400 InformationCenter. Кроме того, дополнительную информацию вы можете найти в руководствепо выполнению задач AS/400 Internet Security: Protecting Your AS/400 from HARMon the Internet, SG24–4929.
Существует несколько способов защиты системы. Например, можно разместитьобщедоступный сервер в сети, отделенной от внутренней сети вашей организации.Можно отключить серверы Telnet, протокола передачи файлов (FTP), простогопротокола передачи почты (SMTP), шлюза рабочей станции (WSG) и почтовогопротокола (POP). В частности, рекомендуется отключить сервер Telnet. Болееподробная информация об этих серверах содержится в разделах AS/400 Informa–tion Center, посвященных TCP/IP.
Другой способ обеспечения защиты системы заключается в применениибрандмауэров и фильтров IP–пакетов.
Фильтры IP–пакетов позволяют разрешить отправку и прием данных толькоопределенным хостам. При настройке системы можно запретить обработкупакетов с определенными сочетаниями исходных и целевых адресов. Болееподробная информация о фильтрах IP–пакетов приведена в разделах AS/400Information Center, посвященных TCP/IP.
Брандмауэр – это барьер между внутренней сетью организации и общедоступнойсетью, такой, как Internet. Функции брандмауэра может выполнять группакомпьютеров или один компьютер, работающий как шлюз в обоих направлениях.Этот шлюз регулирует и отслеживает потоки данных, проходящие через него.Пример программного обеспечения брандмауэра – продукт IBM Firewall дляAS/400, 5769–FW1. Более подробные сведения о системе AS/400 и брандмауэрахприведены в разделе AS/400 Information Center Internet и защита сетей. Крометого, дополнительная информация приведена в руководстве по выполнению задачAS/400 Internet Security: IBM Firewall for AS/400, SG24–2162.
Сеть World Wide Web (WWW) привлекает людей в первую очередь своейоткрытостью. Но у этой открытости есть не только преимущества, но и недостатки.Так, применение на Web–сервере сценариев CGI может привести к снижениюстепени защиты сервера. При разработке приложений CGI необходимо проверятьправильность их выходных данных, передаваемых серверу. Приложениям CGIдолжна быть доступна только разрешенная информация об объектах AS/400. Привнедрении приложений CGI для AS/400 администратор должен проверить всеобъекты AS/400, к которым обращаются эти приложения.
Технически возможно создание программ CGI, которые могут получать доступ ковсем переменным среды. Однако в определенные моменты времени этипеременные могут содержать важные для защиты данные – например, ИД ипароли пользователей. В связи с этим при разработке программ CGI,просматривающих переменных среды, следует соблюдать осторожность. Кроме
188 Руководство администратора IBM HTTP Server для AS/400 V4R4
Защита сервера
того, необходимо соблюдать осторожность при предоставлении пользователямдоступа к программам CGI. Перед тем как разместить на сервере программуCGI, проверьте: что именно делает эта программа.
Программы CGI рекомендуется хранить в библиотеке *USR. Права доступа к нимдолжны быть только у профайла QTMHHTP1. Для остальных объектов типа *PGMследует указать права доступа *PUBLIC *EXCLUDE, поскольку директива сервераExec предоставляет доступ только к программам, находящимся в библиотекахAS/400. Если указать права доступа *PUBLIC *EXCLUDE/QTMHHTP1 *NONE, то другиепользователи AS/400 не смогут запускать программы CGI. Эту операциюнеобходимо выполнить только для программ, которые вы не планируетеиспользовать в качестве программ CGI сервера.
В следующих разделах рассматриваются способы управления доступом кразличным файлам на сервере. Сначала рассматривается настройка защиты спомощью команды CL Работа с конфигурацией HTTP (WRKHTTPCFG),предназначенной для редактирования файла конфигурации. Более подробныесведения о команде WRKHTTPCFG приведены в разделе “КомандаWRKHTTPCFG (Работа с конфигурацией HTTP)” на стр. 251. В тех случаях, когдаэто возможно, вы можете выполнить часть операций с помощью форм настройкии администрирования сервера.
Применение директив защиты и управления доступомАдминистратор сервера управляет его работой. Сервер может выполнять толькоте действия, которые явно разрешены администратором.
Эта стратегия обеспечивается следующими функциями сервера:
¹ Правило отказа по умолчанию означает, что разрешается обработка толькотех запросов, которые явно указаны администратором. Все остальныезапросы не обрабатываются.
¹ Явное разрешение программ CGI означает, что сервер будет выполнятьтолько те программы CGI, запуск которых был явно разрешенадминистратором.
¹ Разрешение запуска только программ CGI
¹ Поддержка сервером только методов чтения HTTP: GET, POST и HEAD
Правило отказа по умолчаниюПо умолчанию сервер отклоняет все поступающие запросы, за исключениемтого случая, когда указанный в запросе URL соответствует шаблону, явнозаданному администратором в директиве Pass, Redirect или Exec. Ниже описанаработа сервера в том случае, если запрос соответствует директиве:
¹ Если запрос соответствует директиве Pass, сервер предоставляет клиентузапрошенный документ.
Защита сервера 189
Защита сервера
¹ Если запрос соответствует директиве Redirect, то сервер отправляет клиентуСообщение о перенаправлении. Клиенты не получают доступа к даннымAS/400.
¹ Если запрос соответствует директиве Exec, то сервер запускает указаннуюклиентом программу CGI.
В файле конфигурации по умолчанию присутствует только директива PASS,которая разрешает работу с примером Web–страницы.
Явное разрешение программ CGIСервер запускает только те пользовательские программы CGI, запуск которыхявно разрешен администратором с помощью директивы Exec. Например,администратор сервера может разрешить запуск программам CGI, находящихсятолько в какой–либо одной библиотеке QSYS.LIB.
Важная информация!
Администратор обязан проверить, соответствуют ли разрешенные импрограммы CGI правилам защиты, установленным в данной системе AS/400.
Фирма IBM рекомендует администратору сервера переместить объектыQTMHIMAG *PGM и DB2WWW *PGM (программа CGI Net.Data) из библиотекиQHTTPSVR в пользовательскую библиотеку CGI. Благодаря этомупользователи смогут запускать программы CGI, не имея доступа к библиотекеQHTTPSVR. Не перемещайте файлы Include из библиотеки QHTTPSVR.
Разрешение запуска только программ CGIЧтобы программы, запускаемые сервером, работали правильно, эти программыдолжны соответствовать спецификации интерфейса CGI сервера. Еслиадминистратор разрешил серверу запустить конкретную программу по запросу,поступившему от удаленного клиента HTTP, сервер вызовет эту программу. Затемсервер вернет вывод через интерфейс CGI.
Поддержка сервером только операций чтенияВ спецификации HTTP определяются методы, соответствующие типам запросов,которые удаленный клиент HTTP может передавать серверу. Сервер HTTPподдерживает методы PUT и DELETE. Однако при использовании этих методовследует применять конфигурацию защиты. Конфигурация защиты позволяетисключить возможность удаления или обновления каких бы то ни было объектовAS/400 удаленным клиентом, если соответствующие права доступа непредоставлены ему директивой настройки.
Порядок применения правилПри обработке каждого запроса сервер обрабатывает директивы преобразования– Pass, Map, Exec, Redirect и Fail – в том порядке, в котором они указаны в файлеконфигурации. Директива Map – это единственная директива, разрешающая
190 Руководство администратора IBM HTTP Server для AS/400 V4R4
Защита сервера
обработку следующих директив конфигурации. Каждый тип запросов долженсоответствовать определенным директивам:
¹ Директива Pass должна относиться к документам
¹ Директива Exec должна относиться к программам CGI
Поскольку в директиве Exec можно указать библиотеку, в которой находитсяпрограмма, фирма IBM рекомендует хранить программы CGI и документы вразных библиотеках. Альтернативный вариант – указать директивы Map длядиректив Exec и Pass, относящихся к программам и объектам данныхсоответственно. Ниже приведен пример, в котором директивы Exec и Passприменяются без директивы Map, вследствие чего сервер при попытке запуститьпрограмму CGI неправильно обрабатывает директиву Pass:
Pass /QSYS.LIB/HTMLCGI.LIB/*
Exec /QSYS.LIB/HTMLCGI.LIB/*
Подобные ошибки можно исключить одним из следующих способов:
¹ Можно добавить к директивам Exec и Pass директиву преобразования:
Pass /doc/* QSYS.LIB/HTML.LIB/*
Exec /cgi–bin/* QSYS.LIB/HTML.LIB/*
¹ Можно указать другой каталог для программ CGI:
Exec /QSYS.LIB/HTMLCGI.LIB/*
Pass /QSYS.LIB/HTMLDOC.LIB/HTML.FILE/*
Применение директивы FailПрименение правила отказа по умолчанию означает, что клиентам непредоставляется доступ к документам, если в файл конфигурации не добавленадиректива Pass, Redirect или Exec. С помощью директивы Fail можно явноуказать, что все запросы, соответствующие шаблону, должны отклоняться. Еслиуказать директиву Fail в файле конфигурации перед директивами Map, то всепоступающие запросы сначала будут проверяться на соответствие правилу Fail. Спомощью правила Fail можно явно запретить серверу доступ к объектам AS/400.
С помощью директивы Pass /home/* можно разрешить доступ ко всем объектам вкаталоге home. Чтобы разрешить доступ только к файлу Welcome в каталоге home,введите директиву Pass /home. Директива Pass /home разрешает обработку толькотех URL, которые не содержат пути после /home, т.е. разрешает доступ только кфайлу Welcome, если он существует в каталоге "home".
Учет регистра символов в директивах преобразованияВо всех директивах преобразования запросов учитывается регистр символов.Для файловых систем, в которых регистр символов не учитывается,рекомендуется задать отдельные правила.
Поскольку в некоторых файловых системах AS/400 регистр символов учитывается,а в некоторые нет, сервер HTTP обрабатывает все URL, соответствующие
Защита сервера 191
Защита сервера
определенным директивам, с учетом регистра. Это значит, что при работе сфайловой системой, в которой регистр символов не учитывается, необходимовместе с директивами PASS, Protect, EXEC и другими директивамимаршрутизации запросов указывать директиву MAP.
В приведенном ниже примере все URL будут обрабатываться с учетом регистра,вне зависимости от типа файловой системы:
Protection PROT_NAME {
ServerID AS/400 Domain
AuthType Basic
PasswdFile %%SYSTEM%%
}
Protect /REPORTS/* PROT_NAME
Protect /reports/* PROT_NAME
MAP /REPORTS/* /xyz/*
MAP /reports/* /xyz/*
PASS /xyz/*
Этап 1. Активация защитыПервый этап настройки прав доступа к ресурсам сервера – это активация(включение) защиты. В зависимости от содержания запросов, которые клиентыпередают серверу, должны применяться различные типы защиты.
В настоящем документе термином запрос обозначается та часть URL, котораяследует за именем хоста сервера. Допустим, ваш сервер называетсяfine.feathers.com, и клиент с помощью браузера запрашивает следующий URL:
http://fine.feathers.com/waterfowl/schedule.html
Это означает, что собственно запрос выглядит так: /waterfowl/schedule.html.
С помощью директивы Protect можно указать, для каких запросов должнавключаться защита. Каждая директива Protect содержит шаблон запроса. Еслиполученный запрос соответствует шаблону, указанному в директиве Protect,сервер включает защиту. Директива Protect должна также содержать либоописание конфигурации защиты либо ссылку на нее.
Более подробная информация о работе с директивами Protect приведена вразделе “Защита – Настройка управления доступом к серверу” на стр. 104.
Указать запросы, для которых должна включаться защита, можно с помощьюформ настройки и управления сервером IBM HTTP Server. Для этого в менюформ настройки и администрирования следует выбрать пункт Защитадокументов.
192 Руководство администратора IBM HTTP Server для AS/400 V4R4
Защита сервера
Этап 2. Фильтрация запросовПри получении запросов необходимо не только включать защиту для тех или иныхзапросов, но и сообщать серверу, какие запросы следует обрабатывать, а какие –отклонять.
Директивы Pass и Exec служат для выделения тех запросов, которые сервердолжен обрабатывать. Директивы Pass и Exec преобразуют полученные запросы взапросы к фактическим каталогам и файлам сервера (т.е. к той информации, длякоторой устанавливается защита).
Как и директива Protect, все директивы Pass и Exec содержат шаблоны запросов.Сначала сервер сравнивает поступивший запрос с шаблоном, указанным вдирективе Protect, чтобы выяснить, нужно ли включать защиту. Затем серверпросматривает список директив Pass и Exec, чтобы определить, следует лиобрабатывать запрос. Если запрос соответствует одному из шаблонов, указанныхв директивах Pass и Exec, то сервер принимает запрос. Если включена защита,то сервер на основе конфигурации защиты определяет, должен ли он обработатьзапрос.
Запросы, для которых включается защита (директива Protect), должныобрабатываться сервером (директивы Pass и Exec). Директива Pass позволяетобрабатывать запросы к документам. Директива Exec предназначена дляобработки запросов на запуск программ CGI.
Более подробная информация о директивах Pass и Exec приведена в разделе“Защита – Настройка управления доступом к серверу” на стр. 104.
Примечание: Директива Protect должна располагаться в файле конфигурацииперед всеми директивами Pass и Exec.
Можно указать не только тип запросов, принимаемых сервером, но и правилапреобразования этих запросов. Для этого применяются формы настройки иадминистрирования сервера, а именно форма Маршрутизация запроса.
Этап 3. Выбор типа защитыСуществует три типа защиты, позволяющих ограничить доступ к ресурсамсервера:
¹ Идентификация пользователя по имени и паролю
¹ Идентификация клиента SSL
¹ Защита с помощью шаблонов адресов
Все эти типы защиты могут применяться по отдельности или в любых сочетаниях.
Ниже эти типы защиты рассматриваются более подробно. После описания типовзащиты приведено описание процесса обработки запросов на сервере. Способобработки запросов зависит от типа применяемой защиты.
Защита сервера 193
Защита сервера
Защита с помощью идентификации по имени пользователя и паролюПри использовании этого способа защиты необходимо задать именапользователей, которым разрешен доступ к защищенным ресурсам.
Задать эти имена можно следующими способами:
¹ Указать в директиве PasswdFile один или несколько контрольных списков,содержащих имена пользователей и пароли.
¹ Указать в директиве PasswdFile ключевое слово %%SYSTEM%%. В этом случаепользователь при отправке запроса должен указать свой ИД и пароль всистеме AS/400. Создавать отдельный контрольный список не нужно. (Этотспособ предназначен прежде всего для внутренних сетей организаций.)
Более подробная информация о директиве PasswdFile приведена в разделе“PasswdFile – Указать расположение связанных пользователей” на стр. 118.
Службы каталогов позволяют хранить идентификационную информацию опользователях на сервере LDAP. Преимущество такого способа хранения –возможность совместного использования информации несколькими серверами.При этом нужно только хранить текущую информацию на одном сервере. Болееподробная информация об LDAP приведена в разделе “Серверы LDAP” настр. 59.
Для определения имен пользователей, которым разрешена отправка запросовтого или иного типа, можно указывать имена пользователей в конфигурацияхзащиты и файлах ACL.
Когда сервер получает запрос, для которого запускается простая процедураидентификации, сервер запрашивает у пользователя имя и пароль. Чтобы серверначал обрабатывать запрос, полученные имя и пароль должны удовлетворятьследующим критериям:
¹ Имя пользователя должно быть определено в конфигурации защиты или вфайле ACL. Это имя должно быть допустимым для запросов данного типа.
¹ Имя пользователя должно быть определено одним из следующих способов:
– В контрольном списке, указанном в конфигурации защиты.
– Если в директиве PasswdFile указано ключевое слово %%SYSTEM%%, то имяпользователя должно соответствовать пользовательскому профайлуAS/400. Введенный пользователем пароль должен совпадать с паролемэтого профайла.
Более подробная информация о директиве Passwdfile приведена в разделе“PasswdFile – Указать расположение связанных пользователей” на стр. 118.
Идентификация клиентов SSLПри выборе такого способа защиты вы можете настроить сервер таким образом,чтобы шифрование данных и идентификация клиента/сервера выполнялись спомощью протокола SSL.
194 Руководство администратора IBM HTTP Server для AS/400 V4R4
Защита сервера
Клиент запускает сеанс SSL, отправив серверу запрос с помощью протоколаHTTPS (защищенный HTTP, HTTP + SSL). Если администратор сервера включилидентификацию клиентов SSL, указав в директиве SSLClientAuth значениеRequired, то при получении каждого запроса HTTPS сервер запрашивает уклиента цифровой сертификат. Более подробная информация о директивеSSLClientAuth приведена в разделе “SSLClientAuth – Включить/выключитьидентификацию клиентов SSL” на стр. 159.
SSL устанавливает защищенное соединение, в ходе которого клиент и сервервыполняют взаимную идентификацию и выбирают для текущего сеанса:
¹ Ключи защиты
¹ Алгоритмы шифрования данных, работы с описателями сообщений ихэширования
Сервер создает защищенное соединение с клиентом вне зависимости от того,действителен сертификат клиента или нет. Можно организовать защиту ресурсовна основе действительных сертификатов клиентов, сертификатов с частичнойинформацией об отличительном имени (DN), сертификатов, связанных спользовательскими профайлами AS/400, а также сертификатов, связанных сконтрольными списками AS/400.
Более подробная информация об идентификации клиентов SSL приведена вразделе “Применение протокола Secure Sockets Layer (SSL)” на стр. 223.
Защита с помощью шаблона адресаЭтот тип защиты заключается в том, что для указания допустимых адресов, скоторых могут поступать запросы различных типов, применяются шаблоныадресов. Шаблоны адресов можно задавать в конфигурациях защиты и в файлахACL.
Когда сервер получает запрос, для которого следует применять этот тип защиты,он сравнивает адрес клиента, передавшего запрос, с существующимишаблонами, чтобы удостовериться в том, что такие запросы могут поступать сданного адреса. При сравнении может использоваться либо IP–адрес клиента(например, 9.67.97.103), либо имя его хоста (например, any.host.name.com).
Примечание: Чтобы с шаблоном можно было сравнивать адрес хоста, а нетолько IP–адрес, необходимо задать в директиве DNS–Lookupзначение On (это значение по умолчанию). Если в директивеDNS–Lookup указано Off, то сервер может сравнивать с шаблономтолько IP–адрес клиента. См. “DNS–Lookup – Определять именахостов клиентов” на стр. 16.
Обработка запроса на сервереЭтот раздел посвящен обработке запросов на сервере после включения защиты.Запрос уже принят одной из директив Pass или Exec. Предполагается, что всепараметры защиты определены в конфигурации защиты (в защищенном каталогенет файлов ACL).
Защита сервера 195
Защита сервера
Прочтите описания типов защиты и определите, какой из этих типов вы будетеприменять. После создания конфигурации защиты вам может потребоваться болеевнимательно перечитать эти разделы.
1. Сервер выбирает в конфигурации защиты поддирективу типа маски (GetMask,PutMask, Mask или PostMask). Выбор маски осуществляется в зависимости отметода HTTP, использованного в запросе. В поддирективе типа маскиуказываются допустимые имена пользователей, групп или шаблоны адресов.Допустимые имена пользователей должны быть указаны символами верхнегорегистра; в противном случае они не будут совпадать с именами из спискапользователей AS/400.
2. Если в поддирективе типа маски есть элементы, для которых применяетсятолько защита по шаблону адреса, то сервер сравнивает адрес клиента,отправившего запрос, с шаблонами адресов.
Элементы, для которых применяется только защита по шаблону адреса,начинаются с символов @, Anybody@, Anyone@ или Anonymous@, за которымиследует один или несколько шаблонов адресов. Такие элементы могутприменяться и в именах групп.
Если адрес соответствует шаблону, сервер обрабатывает запрос, незапрашивая имя пользователя и пароль.
Если адрес не соответствует шаблону или в поддирективе типа маски нетэлементов, для которых применяется только защита по шаблону адреса, тосервер переходит к следующему этапу идентификации.
3. Если среди элементов поддирективы типа маски есть имена пользователейили групп, то сервер запрашивает имя пользователя и пароль.
4. Получив имя и пароль, сервер сравнивает их с допустимыми именамипользователей. Допустимыми считаются следующие имена пользователей:
¹ Имена конкретных пользователей, указанные в поддирективе типа маски
¹ Имена пользователей, заданные в файле групп, указанном вподдирективе типа маски
Если имя допустимо, выполняется следующий этап идентификации. Впротивном случае процесс завершается, и сервер возвращает клиентусообщение об ошибке идентификации.
5. Сервер может устанавливать соответствие между именем, введеннымпользователем, и шаблоном адреса. В этом случае сервер сравнивает адресклиента с шаблоном. Для обозначения соответствия между именамипользователей или групп и шаблонами адресов применяется символ @.
Если имя допустимо, выполняется следующий этап идентификации.
В противном случае процесс завершается, и сервер возвращает клиентусообщение об ошибке идентификации.
6. Затем сервер проверяет, защищен ли этот ресурс с помощью сертификатовклиентов SSL. Сначала сервер проверяет сертификат, затем сравниваетотличительное имя (DN) с указанным в конфигурации защиты. После этого
196 Руководство администратора IBM HTTP Server для AS/400 V4R4
Защита сервера
сервер сравнивает информацию об отличительном имени (DN) в сертификатеклиента с указанным в файле ACL. Если в поддирективе AuthType указанозначение Cert или Cert_Or_Basic, сервер проверяет, связан ли этотсертификат с каким–либо пользовательским профайлом AS/400 иликонтрольным списком, задранным в поддирективе PasswdFile. Еслисоответствующие сертификаты не обнаружены, то при выборе способаидентификации Cert_Or_Basic процесс продолжается. В противном случаеидентификация считается не выполненной. Если процесс идентификациизакончен успешно, сервер обрабатывает запрос.
7. Сервер сравнивает полученное имя пользователя с именами пользователей,перечисленными в контрольном списке, указанном в конфигурации защиты.Если в директиве PasswwFile указано значение %%SYSTEM%%, то серверпросматривает базу данных пользовательских профайлов AS/400.
Если имя допустимо, выполняется следующий этап идентификации.
Примечание: Важно отметить, что имени пользователя, переданному насервер, в контрольном списке обязательно должнасоответствовать запись. Имена пользователей в контрольномсписке выбираются произвольно. Сами по себе эти именаникак не связаны ни с адресами клиентов, ни спользовательскими профайлами AS/400.
В противном случае процесс завершается, и сервер возвращает клиентусообщение об ошибке идентификации.
8. Сервер сравнивает полученный пароль с паролем пользователя, указанным вконтрольном списке. Каждому имени в контрольном списке соответствуетдействительный пароль.
Если пароль указан правильно, сервер обрабатывает запрос. В противномслучае процесс завершается, и сервер возвращает клиенту сообщение обошибке идентификации.
Этап 4. Создание конфигураций защитыДиректива Protect активизирует защиту запроса. Кроме того, директива Protectуказывает конфигурацию защиты, которая должна применяться сервером. Крометого, конфигурацию защиты можно определить непосредственно в директиве.Конфигурация защиты представляет собой набор поддиректив защиты. Всевместе, эти поддирективы определяют способ управления доступом кзащищенным ресурсам сервера. Создать конфигурацию защиты можно двумяспособами:
¹ Можно создать конфигурацию защиты в файле конфигурации, с помощьюдирективы Protection, Protect или DefProt.
При создании конфигурации защиты с помощью директивы Protection этойконфигурации присваивается метка, и потом к ней можно обращаться по этойметке из директивы Protect или DefProt.
Защита сервера 197
Защита сервера
Если конфигурация защиты создана с помощью директивы DefProt или Protect,то сервер применяет эту конфигурацию только при обработкесоответствующей директивы. На такую конфигурацию нельзя ссылаться издругой директивы DefProt или Protect. Конфигурация защиты такого типаназывается встроенной конфигурацией защиты.
Созданную конфигурацию защиты можно включать в состав директив Pro–tection, Protect или DefProt. Для этого последним символом строки, в которойнаходится директива, должна быть открывающая фигурная скобка ({). Вкаждой следующей строке будут содержаться поддиректива защиты изначение ее параметра. В строке, следующей за последней поддирективойзащиты, должна стоять закрывающая фигурная скобка (}), обозначающаяконец конфигурации защиты.
Примечание: Внутри конфигурации защиты можно помещать комментарии.
Более подробная информация о создании конфигураций защиты в файлеконфигурации приведена в разделе “Защита – Настройка управлениядоступом к серверу” на стр. 104.
¹ Для создания конфигураций защиты можно применять формы настройки иадминистрирования сервера. Для этого в меню форм настройки иадминистрирования выберите пункт Защита документов и укажите, чтоследует создать встроенную конфигурацию защиты. Для работы сконфигурациями защиты выберите нужную форму в разделе Защита менюформ настройки и администрирования сервера.
Поддирективы защиты, входящие в состав конфигурации защиты, предназначеныдля управления доступом к защищаемым каталогам или файлам. В последующихразделах рассматривается применение каждой из поддиректив защиты.
Идентификация конфигурации защиты для клиентовПоддиректива ServerID позволяет задать имя конфигурации защиты, котороедолжно передаваться клиенту при идентификации по имени пользователя ипаролю. Это имя может быть произвольным.
Когда сервер запрашивает у клиента имя пользователя и пароль, он передаетклиенту имя, указанное в поддирективе ServerID. Большинство браузеровпоказывают это имя вместе с приглашением. Различные конфигурации защитымогут относиться к разным контрольным спискам. Каждому контрольному спискуможет соответствовать собственное имя конфигурации защиты. Благодаря этомупользователь может легко выбрать нужное имя и пароль. Большинство браузеровпытаются также передать имя пользователя и пароль автоматически. Этопроисходит в том случае, если пользователь уже вводил имя в ответ наприглашение, относящееся к данной конфигурации защиты.
Если в конфигурации защиты применяется только защита по шаблону адреса,директива ServerID не нужна.
198 Руководство администратора IBM HTTP Server для AS/400 V4R4
Защита сервера
При работе с формами настройки и администрирования сервера имяконфигурации защиты указывается в поле Идентификатор сервера формыКонфигурация защиты.
Пример:
ServerID restricted
Указание типа идентификацииВы можете указать один из следующих типов идентификации:
¹ None
¹ Basic
¹ Cert
¹ Cert_Or_Basic
Более подробная информация о процедуре идентификации на сервере приведенав разделе “Идентификация клиентов по протоколу SSL” на стр. 227.
Указание контрольного спискаПри использовании защиты по имени пользователя и паролю выполните одно изследующих действий:
¹ В поддирективе PasswdFile укажите полное имя (т.е. имя и путь)контрольного списка, относящегося к данной конфигурации защиты.
¹ Если сервер должен работать не с контрольным списком, а с ИД и паролямипользователей системы AS/400, укажите значение %%SYSTEM%%.
При работе с формами настройки и администрирования сервера полное имяконтрольного списка можно указать в поле Файл пароля формы Конфигурациязащиты. Если в конфигурации защиты применяется только защита по шаблонуадреса, директива PasswdFile не нужна.
Каждый контрольный список содержит список имен и паролей пользователей.Каждому имени пользователя соответствует один правильный пароль. Имя ипароль, полученные от клиента, должны в точности совпадать с именем ипаролем, указанными в контрольном списке.
Для создания и изменения контрольных списков можно применять формынастройки и администрирования сервера. Для этого в меню форм настройки иадминистрирования выберите пункт Удаленные пользователи. Для работы сконтрольными списками выберите нужную операцию в разделе Удаленныепользователи. Дополнительная информация о контрольных списках приведена вэлектронной справке по этим формам.
Защита сервера 199
Защита сервера
Примечания:
1. Имена пользователей, задаваемые в контрольных списках, никак не связаныс адресами и именами клиентов. Эти имена выбираются произвольно.
2. Для создания и изменения контрольных списков можно воспользоватьсякомандой CL Создать контрольные списки (CRTVLDL).
3. Сведения об интерфейсе прикладных программ для работы с контрольнымисписками приведены в книге OS/400 Security APIs, SC41–5872.
Примеры
PasswdFile %%SYSTEM%%
В этом примере сервер будет выполнять идентификацию пользователей наосновании информации из пользовательских профайлов AS/400. Есликонфигурация защиты задана таким способом, для каждого пользователя долженбыть создан профайл и задан пароль.
PasswdFile QUSRSYS/WEBVLDL
В этом примере контрольный список WEBVLDL находится в библиотеке QUSRSYS.
Ссылка на файл групп сервераВ конфигурации защиты можно указывать имена групп. Для этого в поддирективеGroupFile следует указать полное имя файла групп сервера. Файл групп долженвключать в себя определения групп, которые будут применяться в конфигурациизащиты. Группы, определенные в файле групп сервера, могут упоминаться вследующих элементах конфигурации защиты:
¹ В любых поддирективах типа маски, входящих в состав конфигурации защиты.(Поддирективы типа маски – это GetMask, Mask, PutMask и PostMask.)
¹ В любых файлах ACL в каталоге, защищенном с помощью даннойконфигурации защиты.
Более подробная информация о файлах групп сервера приведена в разделе“Работа с файлами групп сервера” на стр. 207.
При работе с формами настройки и администрирования сервера полное имяфайла можно указать в поле Файл групп формы Конфигурация защиты.
Пример:
GroupFile /docs/WWW/restrict.grp
Указание допустимых имен пользователей, групп и адресовДопустимые имена пользователей, групп и шаблоны адресов для различных типовзапросов указываются в поддирективах типа маски. Такие поддирективыобеспечивают защиту всего каталога, в который перенаправляется запрос.
В каждом запросе, поступающем на сервер, содержится поле метода HTTP,содержимое которого определяет тип запроса. Применяемые поддирективы
200 Руководство администратора IBM HTTP Server для AS/400 V4R4
Защита сервера
зависят от того, какие типы запросов нужно обрабатывать. Для правильной работыконфигурация защиты должна содержать хотя бы одну из перечисленных нижеподдиректив:
¹ GetMask – для обработки запросов GET.
¹ PostMask – для обработки запросов POST. (Метод POST используется вбольшинстве форм HTML.)
¹ Поддиректива Mask применяется для обработки запросов, сформированных спомощью любых разрешенных методов, не охватываемых другимиподдирективами. Если в конфигурации защиты присутствует поддирективаMask и другая поддиректива типа маски, то более высокий приоритет имеетподдиректива конкретного метода. Например, если в конфигурации защитыесть поддирективы PostMask и Mask, то запросы POST будут обрабатыватьсяс помощью поддирективы PostMask. Все остальные запросы будутобрабатываться с помощью поддирективы Mask.
Правила указания имен пользователей, групп и шаблоновадресовНиже рассматриваются различные способы указания имен пользователей, именгрупп и шаблонов адресов в поддирективах типа маски, а также приводятсяпримеры. Эти же правила относятся к указанию имен пользователей, имен группи шаблонов адресов в файлах групп и файлах ACL. При работе с формаминастройки и администрирования сервера те же самые правила действуют длязначений, вводимых в перечисленных ниже полях формы Конфигурация защиты:
¹ Get
¹ Post
¹ Put
¹ Delete
¹ All
¹ Имя пользователя можно указать без шаблона адреса. Имя пользователядолжно быть определено в объекте контрольного списка в конфигурациизащиты. Если пользователь передает на сервер имя и правильный пароль, тосервер обрабатывает запрос.
GetMask Homer
PostMask Bart
¹ Шаблон адреса можно указать без имени пользователя. Если адрес клиентасоответствует шаблону адреса, то сервер обрабатывает запрос, незапрашивая имя пользователя и пароль.
Шаблон адреса может основываться либо на IP–адресе, либо на имени хоста.В любой части шаблона можно указать символ подстановки – звездочку (*).Для того чтобы применялась только защита по шаблону адреса, укажитеперед шаблоном один из следующих наборов символов:
Защита сервера 201
Защита сервера
GetMask [email protected].*
PostMask @96.*.*.*
GetMask Anonymous@* .springfield.town
Примечание: Чтобы с шаблоном можно было сравнивать адрес хоста, а нетолько IP–адрес, необходимо задать в директиве DNS–Lookupзначение On (это значение по умолчанию). Если в директивеDNS–Lookup указано Off, то сервер может сравнивать сшаблоном только IP–адрес клиента. См. “DNS–Lookup –Определять имена хостов клиентов” на стр. 16.
¹ Можно указать и имя пользователя, и шаблон адреса. Имя пользователядолжно быть определено в объекте контрольного списка в конфигурациизащиты. Имя пользователя отделяется от шаблона адреса символом @. Еслипользователь передает на сервер имя и правильный пароль, а адрес клиентасоответствует шаблону, то сервер обрабатывает запрос.
GetMask [email protected].*.*
PostMask Lisa@*.springfield.town
¹ Для обозначения всех имен пользователей, определенных в контрольномсписке, можно указать значение All или Users (вместе с шаблоном адресаили без него). Если пользователь передает на сервер любое имя,определенное в контрольном списке, и соответствующий ему пароль, а адресклиента соответствует шаблону, то сервер обрабатывает запрос.
GetMask All
PostMask All@(96.*.*.*,*.springfield.town,123.45.6.*)
¹ Можно указать имя группы в файле групп сервера, указанном в поддирективеGroupFile. Более подробная информация приведена в разделе “Работа сфайлами групп сервера” на стр. 207.
Имя группы может включать в себя имена пользователей, имена другихгрупп, а также шаблоны адресов в формате, допустимом для поддирективтипа маски. Имя группы может включает в себя только имена пользователей,определенные в контрольном списке, в противном случае имя группы будетсчитаться недопустимым. Если пользователь передает на сервер правильноеимя и пароль, а адрес инициатора соответствует какому–либо шаблону, тосервер обрабатывает запрос.
GetMask springfield
PostMask shelbyville
¹ Можно указывать значения Anybody, Anyone или Anonymous вместе с шаблономадреса (*) или без него. Это означает, что для запросов, описываемых вэтой поддирективе, защита не применяется. Сервер обрабатывает запрос, незапрашивая имя пользователя и пароль, и не проверяя адрес клиента.
GetMask Anybody
PostMask Anyone@ (*)
¹ В каждой поддирективе может быть несколько элементов. При этомэлементы отделяются друг от друга запятыми. Запятая считается логическимсимволом ИЛИ.
202 Руководство администратора IBM HTTP Server для AS/400 V4R4
Защита сервера
GetMask [email protected].*.*,springfield,shelbyville,
Anyone@*.springfield.town
¹ Чтобы перенести часть списка имен пользователей или групп на новую строку,поставьте запятую в конце предыдущей строки.
GetMask [email protected].*.*,*.springfield.town,
shelbyville,[email protected].*.*
¹ Для группировки имен пользователей и групп, а также шаблонов адресовможно использовать скобки.
PostMask (Smithers,Barney)@1.23.*.*,
Martin@(*.springfield.town,1.23.*.*),
(Nelson,Milhouse,Ralph)@(*.springfield.town)
Имена пользователей, групп и шаблоны адресов можно указать в форме Защитадокументов. Эта форма находится в разделе Защита блока Конфигурации.Необходимо заполнить следующие поля формы Защита документов:
¹ Маска Get
¹ Маска Post
При заполнении формы следует придерживаться всех изложенных выше правил.
Создание конфигураций защиты для идентификации клиентов SSLВ разделе “Применение протокола Secure Sockets Layer (SSL)” на стр. 223описывается применение протокола Secure Sockets Layer (SSL) для защитысервера. Если на сервере применяется идентификация клиентов с помощьюпротокола SSL, то сервер запрашивает сертификат у каждого клиента,отправляющего защищенный запрос. Сервер создает защищенное соединение склиентом вне зависимости от того, действителен сертификат клиента или нет.Можно организовать защиту ресурсов на основе действительных сертификатовклиентов, сертификатов с частичной информацией об отличительном имени (DN),сертификатов, связанных с пользовательскими профайлами AS/400, а такжесертификатов, связанных с контрольными списками AS/400.
Ограничить доступ к документам можно с помощью файлов паролей или спомощью средств идентификации пользователей и групп, описанных в разделе“Защита сервера” на стр. 187.
Задать параметры идентификации клиентов SSL можно с помощью формнастройки и администрирования сервера. Кроме того, можно указать в директивеProtection или Protect следующие опции:
¹ Способ проверки сертификата клиента.
– Поддиректива SSL_ClientAuth с ключевым словом client означаетпроверку сертификата клиента без проверки какой бы то ни былоинформации об отличительном имени (DN), содержащейся в этомсертификате. В этом случае, при несоответствии сертификата серверпроверяет только информацию об отличительном имени (DN) в
Защита сервера 203
Защита сервера
конфигурации защиты. В поддирективе SSL_ClientAuth может бытьуказано только ключевое слово client.
¹ Любые из перечисленных ниже параметров отличительного имени (DN)клиента, входящие в состав сертификата клиента, или все эти параметры:
– CommonName – имя клиента
– Country – страна, в которой находится клиент
– Locality – местность, в которой находится клиент
– StateOrProvince – штат, провинция и т.п., в которой находится клиент
– Organization – организация клиента
– OrgUnit – структурное подразделение клиента
¹ Любые из перечисленных ниже параметров отличительного имени (DN)сертификатной компании (СА) в сертификате клиента, или все эти параметры:
– IssuerCommonName – имя СА
– IssuerCountry – страна, в которой находится СА
– IssuerLocality – местность, в которой находится СА
– IssuerStateOrProvince – штат, провинция и т.п., в которой находится СА
– IssuerOrganization – организация CA
– IssuerOrgUnit – структурное подразделение CA
¹ Сертификат, связанный с пользовательским профайлом AS/400:
– AuthType Cert
– PasswdFile %%SYSTEM%%
¹ Сертификат, связанный с контрольным списком AS/400:
– AuthType Cert
– PasswdFile LIB/VLDL
Примечание: Если указана директива AuthType Cert_Or_Basic, то при неудачномзавершении идентификации клиента SSL попытается выполнитьпростую процедуру идентификации.
Более подробно все перечисленные выше поддирективы директивы Protectionрассматриваются в разделе “Поддирективы защиты” на стр. 109.
Примеры Protect /topsecret/* {
CommonName "Dr Sheila A. Jones"
Organization "RTP Quick Care Center"
Mask Anybody@(*)
AuthType None
}
204 Руководство администратора IBM HTTP Server для AS/400 V4R4
Защита сервера
В приведенном примере внутренней директивы Protect должна быть настроенаидентификация клиентов SSL. Кроме того, клиент должен передать защищенныйзапрос. И, наконец, для обеспечения доступа к документу у клиента должен бытьсертификат на имя "Dr Sheila A. Jones", организация – "RTP Quick Care Center".
Protect /sslprotect/* {
AuthType Cert
PasswdFile %%SYSTEM%%
Mask All@(*)
}
В этом примере должна быть включена идентификация клиентов SSL и клиентпередать серверу запрос HTTPS (защищенный HTTP, HTTP + SSL). Для доступа кресурсу сертификат клиента должен быть действителен и связан спользовательским профайлом AS/400.
Рекомендации по настройке идентификации клиентов SSL вконфигурации защитыБолее подробная информация о работе с протоколом SSL приведена в разделе“Применение протокола Secure Sockets Layer (SSL)” на стр. 223.
¹ Укажите любую часть DN клиента или СА; можно указать полные DN клиентаи СА.
¹ Информация о DN, содержащая пробелы или специальные символы, должнабыть заключена в кавычки.
¹ Убедитесь, что введенная информация о DN соответствует информации всертификате клиента. При вводе этой информации необходимо учитыватьрегистр символов, а также пунктуацию оригинала.
¹ Не используйте символы подстановки в значениях перечисленныхпараметров.
Этап 5. Ограничение доступа к конкретным файламЭтот этап нужен только в том случае, если вы хотите ограничить доступ кконкретным файлам в каталогах, для которых на сервере уже заданаконфигурация защиты.
Для работы со списками управления доступом рекомендуется воспользоватьсяформами Защита и Списки управления доступом.
Для ограничения доступа к конкретным файлам в защищенном каталогенеобходимо создать файл списка управления доступом (ACL) и поместить его вэтот каталог. Файлу ACL должно быть присвоено имя www_acl.
Примечание: Сервер может работать со списками управления доступом не вовсех файловых системах. См. “Работа с файлами списковуправления доступом (ACL)” на стр. 208.
Защита сервера 205
Защита сервера
Обычно первый уровень управления доступом определяется в поддирективах типамаски, а файл ACL накладывает дополнительные ограничения. Однако еслинеобходимо, чтобы файл ACL был главным инструментом управления доступом,укажите в конфигурации защиты поддирективу ACLOverride On. Это означает, чтосервер должен игнорировать поддирективы типа маски в конфигурации защиты.Права доступа будут определяться только на основе файла ACL.
Более подробная информация о файлах ACL приведена в разделе “Работа сфайлами списков управления доступом (ACL)” на стр. 208.
При работе с формами настройки и администрирования сервера также можноуказать, что в конфигурации защиты должно применяться только содержимоефайлов ACL. Для этого выберите в форме Конфигурация защиты переключательРазрешить файлам ACL переопределять маски.
Этап 6. Защита от атак, приводящих к отказу в обслуживанииДирективы защиты от атак, приводящих к отказу в обслуживании, предназначеныдля настройки системы обнаружения и ликвидации последствий таких атак. См.“Настройка защиты от атак, приводящих к отказу в обслуживании” на стр. 172. Спомощью этих директив можно настроить следующие три компонента защитысервера:
1. Ответная реакция – при обнаружении попытки атаки со стороны того илииного клиента можно существенно сократить объем выделяемых емуресурсов с помощью директивы DenialOfServicePenalty. Более подробнаяинформация приведена в разделе “DenialOfServicePenalty – Меры,принимаемые при обнаружении атаки” на стр. 173.
2. Обнаружение – с помощью директивы DenialOfServiceThreshold можнонастроить сервер таким образом, чтобы он обнаруживал атаки, приводящие котказу в обслуживании. Более подробная информация приведена в разделе“DenialOfServiceThreshold – Порог обнаружения атаки” на стр. 174.
3. Надежность – с помощью директивы DenialOfServiceTrusted можно указатьимена хостов или IP–адреса надежных брандмауэров или маршрутизаторов.Более подробная информация приведена в разделе “DenialOfServiceTrusted –Имена или IP–адреса известных маршрутизаторов и брандмауэров, которыене могут быть источником атаки” на стр. 175.
Эти директивы служат для защиты от атак, при которых клиент блокирует ввод илине принимает в активном режиме информацию, передаваемую в ответ на запрос.Вывод может быть блокирован в ожидании подтверждения.
По умолчанию сервер обнаруживает такие атаки и отвечает на них. Однакопараметры по умолчанию могут не соответствовать конкретной ситуации.
206 Руководство администратора IBM HTTP Server для AS/400 V4R4
Защита сервера
Работа с файлами групп сервераФайлы групп служат для объединения пользователей в группы.
Конфигурации защиты могут содержать ссылки на файл групп сервера. Такиессылки позволяют указывать в конфигурации защиты имена групп, определенныев файле групп. Если в защищенном каталоге есть файл ACL, то имена групп,определенных в файле групп сервера, можно указывать и в правилах файла ACL.
Поддиректива GroupFile директивы Protection рассматривается в разделе“GroupFile – Указать расположение связанного файла групп” на стр. 113.
Число файлов групп сервера не ограничено. Каждый из них необходимо создаватькак отдельный текстовый файл. Каждая строка в файле групп сервера описываетотдельную группу в следующем формате:
имя–группы : польз1 [,польз2[,польз3...]]
имя–группыПроизвольное имя группы. Это имя может указываться:
¹ В поддирективах типа маски конфигураций защиты, содержащих ссылкина данный файл групп сервера. (Поддирективы типа маски – это Mask,GetMask, PutMask, DeleteMask и PostMask.)
¹ В правилах доступа внутри файлов ACL, содержащихся в каталогах,конфигурации защиты для которых содержат ссылку на данный файлгрупп сервера.
¹ В последующих определениях групп в том же файле групп сервера.
польз1[,польз2[,польз3...]]Это может быть любой набор имен пользователей, имен групп и шаблоновадресов. При этом элементы отделяются друг от друга запятыми.
Допускаются только имена пользователей, указанные в контрольном списке,соответствующем данной конфигурации защиты. Имена групп должна бытьопределены в предыдущих строках того же файла.
Общие правила, изложенные в разделе “Правила указания именпользователей, групп и шаблонов адресов” на стр. 201, действуют и в этомслучае.
Примеры:
ducks : (webfoot,billface)@96.96.3.1,swandude
geese : goosegg,bagel@(walden.pond.*.*,123.*.*.*)
flock : ducks,geese
webbed : [email protected].*
Заметьте, что в этом примере после определения групп ducks и geese имена этихгрупп можно включать в определение группы flock.
Защита сервера 207
Защита сервера
Работа с файлами списков управления доступом (ACL)В этом разделе рассматривается создание файлов ACL “вручную.” Создаватьфайлы ACL можно также с помощью форм настройки и администрированиясервера. Для этого в меню форм настройки и администрирования выберите пунктСписки управления доступом.
С помощью файлов ACL можно ограничить доступ к конкретным файлам,находящимся в защищенных каталогах любой из следующих файловых систем:
¹ Корневая (/) файловая система
¹ QLanSrvr
¹ QOpenSys
¹ QDLS
В каждом защищенном каталоге может быть только один файл ACL. Этот файлдолжен называться www_acl; в каждом защищенном каталоге должен быть файлс таким именем.
Обычно первый уровень управления доступом определяется в поддирективах типамаски, а файл ACL накладывает дополнительные ограничения для конкретныхфайлов. Однако если необходимо, чтобы файл ACL был главным инструментомуправления доступом, укажите в конфигурации защиты поддирективу ACLOverrideOn. Эта поддиректива означает, что если в защищенном каталоге есть файл ACL,то поддирективы маски в конфигурации защиты будут игнорироваться.
В каждой строке файла ACL содержится правило ограничения доступа взависимости от имени файла, метода HTTP, а также установленного приидентификации имени, группы или адреса пользователя. Сервер обрабатываетправила в файле ACL подряд, от первого до последнего. При обработке серверсравнивает эти три элемента каждого правила с запросом, пока не найдет нужноеправило или пока файл не кончится.
Формат правил в файле ACL:
файл : метод : пользователь
файлИмя файла или шаблон имен файлов, к которым относится это правило. Вкаждом шаблоне имени файла может содержаться одна звездочка (*) –символ подстановки.
Сервер отклоняет запросы к любым файлам, не указанным в файле ACL илине соответствующим ни одному шаблону.
метод или метод1[,метод2[, метод3...]]Метод HTTP или список таких методов, разделенных запятыми.Обрабатываться будут только запросы, сделанные с помощью одного из этихметодов, при этом у пользователя должны быть соответствующие права
208 Руководство администратора IBM HTTP Server для AS/400 V4R4
Защита сервера
доступа к защищенному файлу. Применение указанного метода должно бытьразрешено.
пользователь или польз1[,польз2[, польз3...]]Это может быть любой набор имен пользователей, имен групп и шаблоновIP–адресов. При этом элементы отделяются друг от друга запятыми.
Допускаются только имена пользователей, указанные в контрольном списке,соответствующем данной конфигурации защиты. Имена групп должны бытьопределены в файле групп сервера, на который ссылается конфигурациязащиты.
Правила указания значений для элементов те же, что и при указании именпользователей, имен групп и шаблонов адресов в поддирективах типа маски.См. “Правила указания имен пользователей, групп и шаблонов адресов” настр. 201.
Примеры:
* : GET : All
*.html : GET,POST : geese
golden.* : GET,POST : geese,@bean.stalk.*
В этом примере любой пользователь, указавший допустимое имя и пароль, можетотправлять запросы GET для любых файлов в этом каталоге. Пользователи,входящие в группу geese, могут обращаться к любым файлам HTML с помощьюметода POST.
Рекомендации по настройке идентификации клиентов SSL в ACLБолее подробная информация о работе с протоколом SSL на сервере приведенав разделе “Применение протокола Secure Sockets Layer (SSL)” на стр. 223. Нижеприводятся рекомендации по заданию информации о клиентах SSL в спискахуправления доступом:
¹ Укажите любую часть DN клиента или СА; можно указать полные DN клиентаи СА
¹ Укажите информацию о DN для нескольких клиентов или CA. Различные частиинформации должны отделяться друг от друга запятыми и быть заключены вскобки (как показано в приведенном выше примере).
¹ Информация о DN, содержащая пробелы или специальные символы, должнабыть заключена в кавычки (как показано в приведенном выше примере).
¹ Убедитесь, что введенная информация о DN соответствует информации всертификате клиента. При вводе этой информации необходимо учитыватьрегистр символов, а также пунктуацию оригинала.
¹ Правило ACL должно целиком размещаться в одной строке.
¹ Не используйте символы подстановки (*) в значениях параметров.
Защита сервера 209
Защита сервера
Пример защитыНиже приводятся примеры файлов, которые можно применять для защитыресурсов сервера. Если в таком файле допустимы комментарии, они начинаютсяс символа # в начале строки.
Примечание: Внутри раздела поддиректив конфигурации защиты (т.е. внутрифигурных скобок) нельзя указывать комментарии, начинающиеся ссимвола #.
Ниже приведен пример фрагмента файла конфигурации сервера, относящегося кзащите.
Protection POND–PROT {
ServerID Feathered
Authtype Basic
PasswdFile QUSRSYS/FLYING
GroupFile /WWW/files/nesters.grp
GetMask All@*.swimmer.org
}
#
# Директива Protection определяет конфигурацию защиты с именем
# POND–PROT. Директива Protection должна предшествовать любым
# директивам Protect или DefProt, ссылающимся на нее.
# Поддирективы маски служат для ограничения доступа:
# o Клиенты, имя хоста которых заканчивается на .swimmer.org
# могут считывать файлы (метод GET). Для этого необходимо
# ввести любое имя и соответствующий пароль из контрольного
# списка QUSRSYS/FLYING.
#
Protect /wetland/creatures/* POND–PROT
#
# Для любого запроса, начинающегося с /wetland/creatures/ ,
# активизируется защита, тип которой указан в конфигурации
# защиты POND–PROT
#
# Protect /flocks/* { MASK [email protected].*.*
# }
#
# Эта директива Protect содержит внутреннюю конфигурацию защиты.
# Для любого запроса, начинающегося с /flocks/ ,
# активизируется защита, определенная в директиве Protect.
# Поддирективы маски служат для ограничения доступа:
# o Запросы с любыми другими методами принимаются только от
# клиентов, IP–адрес хоста которых начинается с 9.67.
# (отдельный символ @ и Anybody@ означают одно и то же.)
# Поскольку применяется только защита по шаблону адреса, дирек–
# тивы Authtype, ServerID, PasswdFile и GroupFile не нужны.
# Pass /wetland/creatures/* freshwater\animals\*
#
210 Руководство администратора IBM HTTP Server для AS/400 V4R4
Защита сервера
# При обработке запросов, начинающихся с /wetland/creatures/,
# сервер выполняет поиск файлов в каталоге freshwater\animals\ .
# Pass/* /SServer/HTML/*
#
# При обработке запросов, не соответствующих другим директивам
# Pass, сервер переходит в каталог /SServer/HTML/ (корневой
# каталог документов). Например, если сервер получает запрос
# /vegetation/cattail.html, он будет искать файл cattail.html
# в каталоге /SServer/HTML/vegetation.
#
Ниже приведен пример файла /WWW/files/nesters.grp :
ducks : (webfoot,billface)@96.96.3.1,swandude
geese : goosegg,bagel@(walden.pond.*.*,123.*.*.*)
quacks : ducks,geese,[email protected].*
nest : All@(water.fowl.*,nesting.*.*)
#
# На примере группы quacks иллюстрируется применение уже опреде–
# ленных групп при определении последующих групп. В группу quacks
# входят группы ducks и geese. Кроме того, для группы quacks
# применяется защита по шаблону адреса для любых запросов, посту–
# пающих с хостов, IP–адреса которых начинаются с 43.234.
# При обработке запросов, поступивших с этих хостов, сервер не
# запрашивает имя пользователя и пароль.
Пример файла www_acl в каталоге /SServer/HTML/vegetation :
* : GET : All
*.html, : GET,POST : nest
billed.html : GET,POST : duckman,geese
#
# Все ограничения определяются файлом ACL, поскольку в конфигу–
# рации защиты указано ACLOverride On. Имена пользователей и
# групп, упомянутые в файле ACL, должны быть определены,
# а файл групп сервера упомянут в конфигурации защиты.
Защита сервера 211
Защита сервера
212 Руководство администратора IBM HTTP Server для AS/400 V4R4
Защита соединений
Что такое защита? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213Конфиденциальность . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214Целостность . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214Отчетность . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214Подлинность . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214Что такое шифрование? . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214Что такое цифровая подпись? . . . . . . . . . . . . . . . . . . . . . . . . . 215Что такое идентификация? . . . . . . . . . . . . . . . . . . . . . . . . . . . 216Поддержка цифровой идентификации в AS/400 . . . . . . . . . . . . . . . 217
Диспетчер цифровых сертификатов AS/400 . . . . . . . . . . . . . . . . . . . 218Запуск Диспетчера цифровых сертификатов . . . . . . . . . . . . . . . . . 220Управление ключами, сертификатами и надежными базовыми
сертификатами с помощью Диспетчера цифровых сертификатов . . . . 220Настройка системы для работы с цифровыми сертификатами . . . . . . . 222
Применение протокола Secure Sockets Layer (SSL) . . . . . . . . . . . . . . 223Идентификация клиентов по протоколу SSL . . . . . . . . . . . . . . . . . 227Этап 1. Настройка протокола SSL на сервере . . . . . . . . . . . . . . . . 228
Заполните форму настройки защиты . . . . . . . . . . . . . . . . . . . . 228Этап 2. Настройка идентификации по протоколу SSL в конфигурации
защиты и файлах ACL . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229Этап 3. Применение протокола SSL на сервере . . . . . . . . . . . . . . . 230
В продукт IBM HTTP Server встроены средства защиты, которые позволяютзащитить среду коммерческих транзакций. В данной главе приведены общиесведения о защите информации и описаны различные протоколы защиты.
Что такое защита?При создании сети Internet перед ее разработчиками не стояла задача обеспечитьзащищенную передачу конфиденциальных данных. Однако с появлениемэлектронной торговли (например, продаж и платежей через Internet) возникла ипотребность в защите информации. Кроме того, в сообщениях, передаваемыхвнутри фирмы через сеть Internet, часто содержится конфиденциальнаяинформация о коммерческих продуктах. Такие данные должны быть защищены отвозможного доступа извне. Для защиты можно воспользоватьсямаршрутизаторами, которые могут отслеживать любые соединения ирегистрировать передаваемые через них данные.
Согласитесь, что вы никогда не отправите свою медицинскую карту илиоплаченные счета на открытке. По этим же причинам, очень немногие согласныбез дополнительной защиты передавать коммерческие данные через сеть Internetв ее сегодняшнем состоянии.
Транзакцию можно считать защищенной только тогда, когда она обладаетследующими свойствами:
Copyright IBM Corp. 1997, 1999 213
¹ Конфиденциальность
¹ Целостность
¹ Отчетность
¹ Подлинность
КонфиденциальностьКонфиденциальность означает, что содержимое сообщения остается секретным навсех этапах его передачи по сети Internet. Передача сообщения по сети безсоблюдения конфиденциальности можно сравнить с выкрикиванием сообщения вкомнате, полной людей. Конфиденциальность сообщения можно гарантироватьпутем его шифрования.
ЦелостностьЦелостность данных означает, что во время передачи по сети никто не можетизменить содержание сообщения. Любой маршрутизатор, через который проходитсообщение, обладает возможностью вставить или удалить кусок текста илиисказить все сообщение. Без гарантии целостности данных вы не можете бытьуверены в том, что полученное адресатом сообщение совпадет с отправленнымвами. Целостность сообщения можно обеспечить с помощью шифрования ицифровой подписи.
ОтчетностьОтчетность означает, что и отправитель, и получатель признают факт передачиданных. Если отчетность отсутствует, то адресат всегда может заявить, что неполучал сообщения. Цифровая подпись на документе служит также дляобеспечения отчетности.
ПодлинностьПодлинность означает, что вы точно знаете, с кем обмениваетесь информацией, идоверяете этому лицу. Без гарантии подлинности вы никогда не сможете бытьуверены, с кем именно вы обмениваетесь сообщениями. Подлинностьобеспечивается за счет идентификации. Идентифицировать стороны можно спомощью цифровых сертификатов или цифровых подписей.
Что такое шифрование?Шифрование – это преобразование сообщения в нечитаемую форму.Расшифровать и прочесть такое сообщение может только получатель.Отправитель преобразует (шифрует) сообщение по определенному алгоритму, илиключу. У получателя есть дешифровальный ключ. Шифрование гарантируетконфиденциальность данных, передаваемых по сети Internet. Кроме того,шифрование позволяет обеспечить целостность и подлинность данных.
Существуют два типа ключей шифрования:
¹ Симметричные
¹ Несимметричные
214 Руководство администратора IBM HTTP Server для AS/400 V4R4
Симметричные ключи применяются в простейших способах шифрования, когдаотправитель и получатель используют один и тот же ключ. Отправитель шифруетвсе сообщения по одному шаблону. Получатель расшифровывает данные спомощью этого же шаблона. Возможно, вы уже сталкивались с этим способом,например, при шифровании "решеткой".
Если вы хотите применять шифрование с помощью симметричного ключа, то вамнеобходим надежно защищенный способ передачи общего ключа вашимадресатам. Если передача симметричного ключа осуществляется недостаточнонадежно, то ключ может быть перехвачен неизвестными лицами, которые послеэтого получат доступ к вашим секретным данным. Кроме того, если один и тот жеключ применяется для передачи данных нескольким лицам, то доступ ко всемданным получит каждое из них. Если данные предназначены только для одногочеловека, то и ключ шифрования не должен быть известен никому, кроме него.
Несимметричные ключи – это пара ключей. Каждая пара состоит из общегоключа и личного ключа. Эти ключи существенно отличаются друг от друга.Личный ключ содержит значительно большую часть секретного шаблонашифрования, чем общий. Обычно пара ключей создается в процессе полученияцифрового сертификата. Сертификат (к которому разрешен открытый доступ)содержит общий ключ. Передавать общий ключ можно и другими способами. Дляпередачи общего ключа не требуется секретность; доступ к нему должен бытьоткрыт для всех, кому он может понадобиться. Напротив, личный ключнеобходимо хранить в тайне, защитив его паролем. Любое лицо может спомощью общего ключа зашифровать сообщение, прочесть которое сможететолько вы (так как никто кроме вас не знает вашего личного ключа).
И наоборот, любое лицо, обладающее вашим общим ключом, можетрасшифровать сообщение, зашифрованное вашим личным ключом,одновременно удостоверившись, что сообщение действительно отправлено вами.Это принцип, на котором основано создание цифровой подписи.
Что такое цифровая подпись?Цифровая подпись – это зашифрованный с помощью личного ключа описательсообщения. Описатель сообщения, или цифровой идентификационный код, – этоуникальный, сгенерированный специально для данного сообщения номер (илистрока символов). Описатель сообщения иногда называют хэшем.
Вы подписываете сообщение, зашифровывая его описатель личным ключом.Затем сервер передает ваше сообщение вместе с зашифрованным описателемсообщения.
После этого получатель расшифровывает описатель сообщения с помощьювашего общего ключа. При этом он одновременно убеждается в том, чтосообщение было отправлено именно вами, так как ключ, которым былзашифрован описатель сообщения, не доступен никому, кроме вас. Это такженазывается однозначным указанием авторства. Затем получатель генерируетописатель вашего сообщения и сравнивает его с полученным описателем, чтобыудостовериться в целостности данных. Если описатели совпадают, получатель
Защита соединений 215
Симметричныеключи
может быть уверен, что за время передачи содержание сообщения не былоникем изменено.
Таким образом, применение цифровой подписи позволяет гарантироватьцелостность, конфиденциальность и отчетность данных, передаваемых по сетиInternet. Однако иногда возникает потребность в защите всего сеанса связи вцелом, а не только отдельных сообщений электронной почты и транзакций.Например, вам может понадобиться защитить весь поток данных HTTP,передаваемых от вашего сервера к клиентам. Для обеспечения защиты Web–сервера при передаче сообщений HTTP можно воспользоваться протоколомSecure Sockets Layer (SSL). Для применения SSL необходимо, чтобы у серверабыл цифровой сертификат.
Что такое идентификация?Идентификация – это выполняемый сервером процесс установления личности,который не позволяет посторонним выдавать себя за других лиц. Существует дваспособа идентификации:
¹ Цифровые подписи
¹ Цифровые сертификаты
Как уже было сказано выше, цифровая подпись служит гарантией отчетности.Однако, каким образом вы можете проверить, что отправитель полученного вамисообщения действительно является тем лицом, за которое себя выдает?
Вы просматриваете цифровой сертификат отправителя. Цифровой сертификатможно сравнить с кредитной карточкой с фотографией, на которой изображены выв обнимку с президентом банка, выдавшего карточку. Вам будут доверять потому,что вы похожи на человека с фотографии, которому доверяет президент банка.
Ваша вера в подлинность отправителя основана на вашем доверии к третьемулицу (или фирме), которое засвидетельствовало идентичность отправителя. Этотретье лицо, иначе говоря – сертификатная компания (CA), выдает цифровыесертификаты.
Сертификат включает:
¹ Общий ключ лица, которому выдается сертификат
216 Руководство администратора IBM HTTP Server для AS/400 V4R4
¹ Имя и адрес лица, которому выдается сертификат; они также называютсяотличительным именем
¹ Цифровую подпись сертификатной компании (CA)
¹ Дату выдачи сертификата
¹ Дату истечения срока действия сертификата
Отличительное имя – это имя и адрес частного лица или организации. Какминимум, оно состоит из чьего–либо имени. Вы указываете свое отличительноеимя, запрашивая сертификат. Сертификат с цифровой подписью содержит нетолько ваше отличительное имя, но и отличительное имя сертификатной компании(CA), выдавшей вам сертификат.
Сертификатные компании (CA) распространяют свой общий ключ и отличительноеимя в комплекте, который и называется цифровым сертификатом CA. Этопозволяет любому лицу добавить данную CA к своему Web–серверу или браузерув качестве источника надежного базового сертификата. Вы можете обозначитьобщий ключ и сертификат данной CA как надежный базовый сертификат. Этоозначает, что ваш сервер будет доверять любому лицу, которое обладаетсертификатом, выданным данной CA. На сервере можно назначить нескольконадежных базовых сертификатов. В действительности, на сервере по умолчаниюуже указано несколько надежных базовых сертификатов, к которым вы, принеобходимости, можете добавлять другие.
Для того чтобы соединение было защищенным, получатель данных (как Web–сервер, так и браузер) должен доверять сертификатной компании, от которойотправитель получил свой сертификат. Таким образом, для того чтобы отправительмог передать защищенное сообщение, необходимо, чтобы его сертификат и общийключ были уже внесены получателем в список надежных базовых сертификатов.
Поддержка цифровой идентификации в AS/400Цифровые сертификаты также называют цифровыми идентификаторами. Ониподдерживаются в системе начиная с версии V4R3 с целью идентификациизащищенных запросов к IBM HTTP Server, поступающих от клиентов.
Цифровые ИД в системе AS/400 можно использовать и просто для идентификацииклиентов. В процессе идентификации сервер запрашивает цифровой ИД(сертификат). У клиента, направившего запрос, должен быть действительныйсертификат. Данный сертификат не принимает участия в дальнейшей процедуреидентификации. Для работы с Web–страницами и программами CGI пользователю
Защита соединений 217
Запрос, зашифрованныйс помощью общего ключа сервера
Клиент Сервер
предоставляются права доступа по умолчанию (например, QTMHHTTP).Программа CGI может воспользоваться информацией DN (отличительного имени),содержащейся в сертификате, в целях трассировки и для сохраненияпользовательской конфигурации. Эти функции очень удобны при работе в средеInternet.
Кроме того, в AS/400 цифровые ИД применяются для идентификации клиентов ипредоставлении им прав доступа к приложениям. В этом случае у клиента,направившего запрос, должен быть действительный сертификат. Кроме того, дляполучения доступа к защищенному приложению необходимо, чтобы этотсертификат соответствовал фактическому пользователю Internet (внесенному вконтрольный список). Для работы с пользователями Internet предназначеныформы Пользователи Internet из комплекта форм настройки и управления.
Иногда приложение предоставляет специальную программу регистрации, котораяпозволяет автоматически создать нового пользователя Internet и зарегистрироватьдля него данный сертификат. Приложение может также принимать запросы нарегистрацию и затем запускать процедуру создания нового пользователя Internet.Вы можете создать нового пользователя Internet с помощью формы Добавитьпользователя Internet (из раздела Пользователи Internet комплекта формнастройки и управления).
Кроме того, цифровые ИД в AS/400 можно применять в качестве аналогапользовательского профайла и пароля в OS/400. В этом случае у клиента,направившего запрос, должен быть действительный сертификат. МакрокомандыNet.Data и программы CGI работают под управлением того пользовательскогопрофайла OS/400, которому соответствует данный сертификат. Определить, какиеобъекты доступны пользователям, можно с помощью обычных средств OS/400.Эта возможность очень удобна при работе в средах intranet.
Проверка цифрового ИД клиента происходит при каждом подключении к серверупо протоколу SSL. Процедура проверки завершается до того, как сервер получаетзапрос от клиента. Если идентификация цифрового ИД завершается неудачно, тосервер отвергает запрос клиента.
Диспетчер цифровых сертификатов AS/400AS/400 – это одна из наиболее надежно защищенных систем. Однако дажесистемам AS/400 необходима дополнительная защита при их подключении кInternet. А именно, необходимо дополнительно защищать те ресурсы AS/400,
218 Руководство администратора IBM HTTP Server для AS/400 V4R4
Ответ, зашифрованныйс помощью общего ключа клиента
Клиент Сервер
которые каким бы то ни было способом используют Internet или предоставляюткакие–либо услуги через Internet. Настроив с помощью DCM работу с цифровымисертификатами, вы сможете усилить защиту системы AS/400. Цифровыесертификаты позволяют использовать протокол Secure Sockets Layer (SSL) дляорганизации защищенного доступа к Web–сайтам и прочим службам Internet.
С помощью DCM вы можете создать в своей сети intranet собственнуюсертификатную компанию (CA). После этого с ее помощью вы сможетединамически выдавать цифровые сертификаты серверам и пользователям сетиintranet. Когда вы создаете сертификат для сервера, DCM автоматическиизменяет директивы *ADMIN в его конфигурации, разрешая защищенную передачуданных по протоколу SSL. Кроме того, DCM автоматически генерирует общий иличный ключи для сертификата.
С помощью DCM вы также можете регистрировать и использовать цифровыесертификаты, выданные компанией VeriSign или другими коммерческимиорганизациями, в вашей сети intranet или в Internet. Когда вы с помощью DCMполучаете сертификат для сервера от третьей компании CA, DCM автоматическиизменяет директивы *ADMIN в конфигурации сервера, разрешая ему защищеннуюпередачу данных по протоколу SSL.
DCM автоматически связывает сертификат с пользовательским профайломвладельца сертификата в AS/400. Следовательно, сертификат обладает теми жеправами доступа, что и этот пользовательский профайл.
Вы можете еще более повысить защищенность системы, заменив имена и паролипользователей цифровыми сертификатами.
Диспетчер цифровых сертификатов – это компонент 34 Operating System/400(OS/400). Для работы с DCM необходимо выбрать этот компонент при установкеOS/400. Кроме того, нужно установить IBM HTTP Server (5769–DG1) (через негоосуществляется доступ к DCM). Для создания ключей сертификатов вам такжепонадобится лицензионная программа Cryptographic Access Provider (5769–AC1,5769–AC2 или 5769–AC3). Версия последней определяет максимальнодопустимую длину ключа шифрования.
Подробное описание программы Диспетчер цифровых сертификатов приведено вразделе Управление цифровыми сертификатами в справочнике AS/400 InformationCenter.
Защита соединений 219
Сообщение Идентификационныйкод сообщения
Алгоритм созданияидентификационного кода
128 разр.
Запуск Диспетчера цифровых сертификатовДля запуска DCM щелкните на гиперссылке Диспетчер цифровых сертификатовв панели задач AS/400. Работая с Диспетчером цифровых сертификатов, вывсегда можете вызвать электронную справку по текущему заданию, нажав налюбой панели кнопку Справка.
Управление ключами, сертификатами и надежными базовымисертификатами с помощью Диспетчера цифровых сертификатов
Интерфейс Диспетчера цифровых сертификатов состоит из двух окон. Каждаяссылка в левом окне – это название одной из задач, которые можно выполнить спомощью Диспетчера цифровых сертификатов. Существуют четыре категориизадач:
¹ Сертификатная компания (CA)
¹ Зарегистрированные сертификаты
¹ Сертификаты серверов
¹ Сертификаты клиентов
Если к данной категории относится несколько задач, то слева от ее названия выувидите стрелку. Стрелка означает, что если вы выберете ссылку к этой категории,то будет развернут список задач для выбора.
Когда вы выбираете ссылку к задаче, в правом окне появляется страница, накоторой описано выполнение задачи. Категории и количество задач,перечисленных в левой панели, зависят от прав доступа вашегопользовательского профайла AS/400. Ссылки на некоторые задачи доступнытолько администраторам системы AS/400, которые обладают специальнымиправами доступа *SECADM и *ALLOBJ. Остальным пользователям доступнытолько функции управления сертификатами клиентов.
При выборе ссылки Сертификатная компания (CA) выдается следующий списокзадач:
¹ Создать сертификатную компанию. Это задача создания собственной CA всети intranet. До тех пор, пока вы не выполните данную задачу, в категориибудет показана только эта ссылка. После создания собственной CA в спискезадач появятся другие задачи из данной категории, а ссылка на ужевыполненную задачу исчезнет.
220 Руководство администратора IBM HTTP Server для AS/400 V4R4
Сообщение
Код
¹ Обновить сертификатную компанию. Выбрав эту ссылку, вы сможете обновитьинформацию для собственной CA в вашей сети intranet.
¹ Показать сертификатную компанию. Здесь вы можете просмотретьинформацию, относящуюся к вашей собственной CA.
¹ Удалить сертификатную компанию. Выбрав эту ссылку, вы сможете удалитьCA и ключи из вашей сети intranet.
¹ Изменить стратегию. Здесь вы можете изменить стратегию работы ссертификатами клиентов для вашей CA.
¹ Изменить пароль к набору ключей. Здесь вы можете изменить пароль кнабору ключей по умолчанию для CA в вашей сети intranet.
¹ Отправить сертификат CA в другую систему. Выбрав эту ссылку, вы сможетескопировать сертификат, выданный CA вашей сети intranet, в файл, которыйзатем можно будет передать и использовать в других системах.
¹ Создать сертификат сервера для другой системы. Выбрав эту ссылку, высможете с помощью вашей CA создать файл набора ключей сервера,сертификат сервера и пару ключей. Затем созданный файл можно будетпередать в другую систему для применения другими серверами.
Ссылка Зарегистрированные сертификаты открывает одноименную панель, вкоторой вы можете просматривать и удалять любые сертификаты клиентов,зарегистрированные Диспетчером цифровых сертификатов.
При выборе ссылки Сертификаты серверов выдается следующий список задач:
¹ Создать сертификат сервера. Здесь вы можете создать сертификат сервера.Вы можете выбрать собственный сертификат, созданный CA вашей сетиintranet, или сертификат внешней компании CA в Internet.
¹ Обновить сертификат сервера. Выбрав эту ссылку, вы сможете обновитьсуществующий сертификат сервера.
¹ Удалить набор ключей сервера. Здесь вы можете удалить файл набораключей сервера.
¹ Получить сертификат сервера. Здесь вы можете скопировать подписанныйсертификат сервера в его файл набора ключей.
¹ Получить сертификат CA. Здесь вы можете скопировать сертификат CA в файлнабора ключей сервера и назначить его надежным базовым сертификатом.
Защита соединений 221
Общийключ
CA
Отличительноеимя
Датавыдачи
Датаокончаниядействия
¹ Управление ключами. Данная ссылка открывает одноименную панель,которая позволяет выполнить несколько задач по управлению файламинабора ключей сервера.
При выборе ссылки Сертификаты клиентов выдается следующий список задач:
¹ Установить сертификат CA на PC. Эта ссылка открывает панель Установитьсертификат CA. Здесь вы сможете установить сертификат CA в браузере илископировать его в файл на вашем PC.
¹ Запросить новый сертификат клиента. Здесь вы сможете отправить запрос насертификат клиента в собственную CA сети intranet.
¹ Управлять зарегистрированными сертификатами. Эта ссылка открываетпанель Зарегистрированные сертификаты, в которой вы можетепросматривать и удалять любые сертификаты клиентов, зарегистрированныев DCM.
¹ Зарегистрировать существующий сертификат клиента. Здесь вы можетезарегистрировать сертификат клиента, полученный от третьей компании CAчерез сеть Internet.
Настройка системы для работы с цифровыми сертификатамиЕсли вы планируете защитить соединения с помощью протокола Secure SocketsLayer, то сначала вы должны настроить систему для работы с цифровымисертификатами. Сделать это можно двумя способами. Можно выдавать серверами клиентам собственные сертификаты, предварительно создав собственнуюсертификатную компанию (CA) с помощью Диспетчера цифровых сертификатов(DCM). Тогда вы получаете возможность ограничивать доступ к определеннымпроектам в вашей сети, создавая с помощью сертификатов группы пользователейс различными правами доступа в intranet.
Другой способ – назначить сертификат внешней CA надежным базовымсертификатом и с помощью DCM в дальнейшем получать сертификаты серверов ирегистрировать сертификаты клиентов в этой CA. Если вы собираетесь вести всети Internet коммерческую деятельность, то вам потребуется сертификат
222 Руководство администратора IBM HTTP Server для AS/400 V4R4
сервера, выданный широко известной CA, например VeriSign. В файл набораключей для сервера, который поставляется вместе с программой DCM, заранеевнесены несколько сертификатов известных компаний CA.
Работа с собственной CA
Для того чтобы выдавать сертификаты с помощью собственной компании CA ввашей сети intranet, выполните следующие действия:
1. Создайте сертификатную компанию (CA) в вашей сети intranet.
2. Создайте сертификат сервера.
3. Установите копию сертификата CA в браузерах всех пользователей вашейсистемы.
4. Проследите за тем, чтобы каждый пользователь запросил и создал сертификатклиента. Если вы не собираетесь идентифицировать пользователей спомощью цифровых сертификатов, то эту задачу выполнять не нужно.
Примечание: Эта функция предназначена для защиты передачи данных толькомежду конечными пользователями. Вы не можете ни выдаватьсертификаты третьим лицам, ни разрешать делать это кому–либоеще. Ни для каких иных целей эту функцию использовать нельзя.
Работа с независимой CA через Internet
Для того чтобы использовать сертификаты, полученные от внешней компании CAчерез сеть Internet, выполните следующие действия:
1. Получите через Internet сертификат от независимой сертификатной компании иназначьте его надежным базовым сертификатом вашей системы. Если такойсертификат уже присутствует в поставляемом файле набора ключей длясервера, то это действие выполнять не нужно.
2. Запросите и получите от независимой CA подписанный сертификат сервера.
3. Установите копию сертификата независимой CA в браузерах всехпользователей вашей системы. (Следуйте инструкциям, полученным от CA.)
4. Проследите за тем, чтобы все пользователи зарегистрировали в независимойкомпании CA свои (уже существующие) сертификаты клиентов. Если вы несобираетесь идентифицировать пользователей с помощью цифровыхсертификатов, то эту задачу выполнять не нужно.
Применение протокола Secure Sockets Layer (SSL)Поддержка идентификации с помощью цифровых ИД посредством SSL в системеAS/400 состоит из следующих компонентов:
¹ Программа Диспетчер цифровых сертификатов (DCM). Предоставляет услугипо обработке сертификатов системе AS/400 и другим клиентам.Дополнительные сведения о DCM приведены в разделе “Диспетчер цифровыхсертификатов AS/400” на стр. 218. Подробное описание программы
Защита соединений 223
Диспетчер цифровых сертификатов приведено в разделе Управлениецифровыми сертификатами в справочнике AS/400 Information Center.
¹ IBM HTTP Server. Идентифицирует пользователей, отправляющих защищенныезапросы.
¹ Кроме того, IBM HTTP Server управляет доступом к защищенным ресурсам спомощью контрольных списков, пользовательских профайлов AS/400 исписков управления доступом (ACL).
Для обеспечения защиты Web–сервера при передаче сообщений HTTP можновоспользоваться протоколом Secure Sockets Layer (SSL). Для применения SSLнеобходимо, чтобы у сервера был цифровой сертификат. Сведения о поддержкецифровых ИД (сертификатов) в системе AS/400 приведены в разделе “Поддержкацифровой идентификации в AS/400” на стр. 217.
SSL – это протокол защищенной передачи данных, разработанный фирмамиNetscape Communications Corporation и RSA Data Security. Он исключаетвозможность доступа посторонних лиц к данным, которыми обмениваются клиенти сервер. Благодаря ему сервер может проверить подлинность клиентов.
Если у сервера есть цифровой сертификат, то браузеры, поддерживающиепротокол SSL (например, Netscape Navigator), могут обмениваться данными сэтим сервером по защищенному соединению SSL. Применение протокола SSLупрощает защиту Web–сайта в сети Internet или в корпоративной сети TCP/IP.
Установив соединение TCP/IP, протокол SSL обменивается информацией о защитес удаленным хостом. При этом клиент и сервер согласовывают ключи защитытекущего сеанса, и клиент идентифицирует сервер. После того, как защитасоединения создана, сервер применяет SSL для расшифровки поступающихзапросов и шифрования своих ответов. Шифруется и дешифруется следующаяинформация:
¹ URL, запрошенные клиентом
¹ Содержимое форм, заполненных клиентом
¹ Идентификационная информация клиента (имя пользователя и пароль)
¹ Все данные, передаваемые между клиентом и сервером
HTTPS (HTTP + SSL) – это уникальный протокол, совмещающий протоколы SSL иHTTP. Содержащиеся в HTML–страницах гиперссылки на документы,защищенные по протоколу SSL, должны начинаться с https://. Кроме того,пользователь компьютера–клиента может запросить документ SSL, введя https://перед его URL.
HTTPS и HTTP – это разные протоколы, обычно работающие через разные порты(443 и 80, соответственно). Ваш сервер может работать одновременно и какзащищенный, и как обычный сервер. Некоторые данные могут предоставлятьсясвободно, а некоторые – только тем браузерам, которые посылают защищенныезапросы. С помощью директивы SSLPort укажите серверу номер порта для
224 Руководство администратора IBM HTTP Server для AS/400 V4R4
протокола SSL. Более подробные сведения о директиве SSLPort приведены вразделе “SSLPort – Задать защищенный (SSL) порт” на стр. 160.
В качестве иллюстрации системы защиты рассмотрим следующий пример: вэлектронном магазине пользователи просматривают каталог товаров, при этомзащита не применяется. Затем те же самые пользователи заполняют бланкизаказов, указывая в них номер кредитной карты, – передача этих данных будетзащищена.
Браузер, не поддерживающий HTTPS, не может передавать запросы на URL спомощью HTTP и SSL. В браузерах без поддержки SSL невозможна передачазащищенных форм.
Ниже приведен список директив и поддиректив настройки и управленияпротоколом SSL на сервере. Обратите внимание на их описания, в которыхприведены инструкции по настройке идентификации клиентов с помощью SSL:
Защита соединений 225
Таблица 3 (Стр. 1 из 2). Директивы настройки SSL на сервере
Тип Описание Стр. Имя директивы Название формы (еслиприменяется)
Защита Включить защиту, еслизапрос соответствуетшаблону
104 Protect Защита документов
Поддирективыпротоколазащиты SSL
Задать тип идентификации 109 AuthType Запуск защиты:идентификация клиентов попротоколу SSL
Имя клиента 111 CommonName Запуск защиты:идентификация клиентов попротоколу SSL
Страна, в которойнаходится клиент
112 Country Запуск защиты:идентификация клиентов попротоколу SSL
Имя сертификатнойкомпании (CA)
113 IssuerCommonName Запуск защиты:идентификация клиентов попротоколу SSL
Страна, в которойнаходится CA
114 IssuerCountry Запуск защиты:идентификация клиентов попротоколу SSL
Адрес, по которомунаходится CA
114 IssuerLocality Запуск защиты:идентификация клиентов попротоколу SSL
Организация, к которойотносится CA
115 IssuerOrganization Запуск защиты:идентификация клиентов попротоколу SSL
Отдел организации, ккоторому относится CA
115 IssuerOrgUnit Запуск защиты:идентификация клиентов попротоколу SSL
Штат или область, гденаходится CA
116 IssuerStateOrProvince Запуск защиты:идентификация клиентов попротоколу SSL
Адрес, по которомунаходится клиент
116 Locality Запуск защиты:идентификация клиентов попротоколу SSL
Организация, к которойотносится клиент
117 Organization Запуск защиты:идентификация клиентов попротоколу SSL
Отдел организации, ккоторому относитсяклиент
118 OrgUnit Запуск защиты:идентификация клиентов попротоколу SSL
Серийный номер клиента 119 SerialNum Запуск защиты:идентификация клиентов попротоколу SSL
226 Руководство администратора IBM HTTP Server для AS/400 V4R4
Применять сертификатыклиентов SSL
120 SSL_ClientAuth Запуск защиты:идентификация клиентов попротоколу SSL
Штат или область, гденаходится клиент
120 StateOrProvince Запуск защиты:идентификация клиентов попротоколу SSL
Настройказащиты
Включить или выключитьидентификацию клиентовпо протоколу SSL
159 SSLClientAuth Настройка защиты
Включить или выключитьзащищенный порт HTTPServer
159 SSLMode Настройка защиты
Назначить порт дляпротокола SSL
160 SSLPort Настройка защиты
Идентификация клиентов по протоколу SSLДля того чтобы включить идентификацию клиентов по протоколу SSL, выполнитеуказания по работе с формами настройки и управления, приведенные в разделе“Этап 1. Настройка протокола SSL на сервере” на стр. 228.
Для того чтобы запустить SSL на вашем сервере, укажите значение On вдирективе SSLMode и значение Required в директиве SSLClientAuth. Болееподробные сведения об этих директивах приведены в разделе “Конфигурациязащиты – Настройка защиты сервера” на стр. 158.
При идентификации клиентов по протоколу SSL сервер сначала проверяет,действителен ли сертификат клиента. Если сертификат недействителен, серверсравнивает информацию DN (отличительного имени) из раздела защиты синформацией DN сертификата клиента. Затем сервер сравнивает все данные DN,содержащиеся в файле списка прав доступа (ACL), с информацией DNсертификата клиента. Если данные DN совпадают, то сервер принимает запросклиента.
Указать данные DN можно с помощью поддиректив защиты, перечисленных вТабл. 3 на стр. 226.
Вы можете задать следующие типы идентификации:
¹ None – Сервер осуществляет защиту путем проверки сертификатов клиентовSSL или сертификатов с определенными отличительными именами (DN).Более подробная информация об идентификации клиентов по протоколу SSLприведена в “Идентификация клиентов по протоколу SSL.”
¹ Basic – Сервер осуществляет защиту путем проверки ИД и паролейпользователей. При первом обращении пользователя к защищенному ресурсусервер запрашивает его ИД и пароль. Такой тип идентификации можноприменять как для защищенных, так и для незащищенных сеансов HTTP. В
Защита соединений 227
случае незащищенного сеанса HTTP ИД и пароль пользователя кодируются,но не шифруются.
¹ Cert – Сервер осуществляет защиту путем проверки сертификатов клиентовSSL, связанных с пользовательскими профайлами AS/400 или контрольнымисписками. Для применения этого типа идентификации должны бытьвыполнены следующие условия:
– На сервере должна быть настроена идентификация клиентов по протоколуSSL
– Клиент должен передать запрос на ресурс по протоколу Secure HTTP(HTTPS)
– Сертификат клиента должен быть действительным
– Сертификат клиента должен быть связан либо с пользовательскимпрофайлом в системе AS/400, либо с контрольным списком, указанным вдирективе PasswdFile. Описание директивы PasswdFile приведено вразделе “PasswdFile – Указать расположение связанных пользователей”на стр. 118.
Кроме того, ограничить доступ к ресурсам сервера можно и с помощьюодного только действительного сертификата клиента, или же указавопределенную информацию отличительного имени (DN). Более подробнаяинформация о идентификации клиентов сервера по протоколу SSL приведенав разделе “Применение протокола Secure Sockets Layer (SSL)” на стр. 223.
¹ Cert_Or_Basic – Данный способ идентификации представляет собойкомбинацию типов Basic и Cert. Сервер сначала пытается выполнить запросклиента согласно типу идентификации Cert. Если по какой–либо причинеидентификация по типу Cert оказывается неудачной, то сервер пытаетсяидентифицировать клиент по типу Basic. Если у клиента отсутствуетдействительный или зарегистрированный сертификат, то сервер все же можетпредоставить ему доступ к защищенным ресурсам, если клиент правильноукажет ИД и пароль пользователя.
Этап 1. Настройка протокола SSL на сервереДля того чтобы настроить на сервере защиту по протоколу SSL, нужно получитьдля вашего сервера цифровой сертификат. Вы можете получить новый илизарегистрировать уже существующий сертификат для экземпляра *ADMIN сервераIBM HTTP для AS/400 с помощью программы DCM. Затем с помощью формынастройки защиты объявите этот сертификат общим, сделав его сертификатом идля другого экземпляра HTTP Server.
Заполните форму настройки защитыУкажите в форме Настройка защиты необходимую серверу информацию,относящуюся к защите данных.
1. Задайте опции соединения: В форме настройки защиты укажите параметрысоединения SSL. Форма Настройка защиты находится в разделе Настройкинабора форм настройки и управления.
228 Руководство администратора IBM HTTP Server для AS/400 V4R4
Для того чтобы сервер работал только в основном режиме, без защиты данных,выберите пункт Разрешить соединения HTTP.
Для того чтобы сервер работал только в защищенном режиме, выберите пунктРазрешить соединения SSL. Укажите номер порта для защищенной передачиданных.
Для того чтобы сервер мог работать как в защищенном, так и незащищенномрежиме, выберите пункт Разрешить соединения HTTP и SSL. Укажите номерпорта для защищенной передачи данных. Теперь ваш сервер сможетодновременно использовать оба способа передачи данных.
2. Отправьте ваш запрос: Просмотрите вашу форму и убедитесь, что каждыйпункт заполнен правильно. Отправьте форму на обработку, нажав кнопкуПрименить.
Когда сервер обработает форму, вы получите подтверждение. Появится ИДприложения, присвоенного экземпляру сервера. Запишите этот ИД приложения,он понадобится вам в дальнейшем.
3. Присвойте сертификаты вашему серверу: Присвоить сертификаты серверуможно с помощью Диспетчера цифровых сертификатов.
1. Щелкните на значке Диспетчера цифровых сертификатов, который находитсяв левом окне набора форм настройки и администрирования IBM HTTP или впанели задач системы AS/400.
2. Выберите пункт Сертификаты системы.
3. Введите пароль доступа к хранилищу сертификатов *SYSTEM.
4. Выберите пункт Работа с защищенными приложениями.
5. Следуйте инструкциям, приведенным в форме. На этой форме вы всегдаможете обратиться к электронной справке, в которой приведено описаниеДиспетчера цифровых сертификатов.
6. Сделав это, вернитесь к набору форм настройки и управления IBM HTTPServer. Внесенные изменения вступят в силу только после того, как вызавершите работу экземпляра сервера, а затем запустите его вновь из формыЭкземпляр сервера. Изменения не вступят в силу после обычногоперезапуска сервера.
Этап 2. Настройка идентификации по протоколу SSL в конфигурациизащиты и файлах ACL
Начиная с версии 3, протокол SSL можно применять для идентификации клиентовсервера. Сервер запрашивает сертификат у любого клиента, от которого поступаетзапрос по протоколу https. Затем сервер создает защищенное соединение внезависимости от того, действителен сертификат клиента или нет. Ограничить доступк защищенным документам можно, создав контрольные списки или настроивидентификацию пользователей или групп пользователей. Вы можете
Защита соединений 229
дополнительно ограничить доступ к определенным документам, закодировавпараметры идентификации SSL, указанные в конфигурации защиты и/или файлахACL.
Более подробные сведения о конфигурации защиты приведены в разделе “Защитасервера” на стр. 187; более подробное описание кодирования конфигурациизащиты – в разделе “Создание конфигураций защиты для идентификации клиентовSSL” на стр. 203, а более подробное описание кодирования файлов ACL – вразделе “Этап 5. Ограничение доступа к конкретным файлам” на стр. 205.Подробное описание доступных типов идентификации клиентов сервера приведенов разделе “Идентификация клиентов по протоколу SSL” на стр. 227.
Этап 3. Применение протокола SSL на сервереЕсли сервер обладает парой ключей и подписанным сертификатом, то он можетначать предоставлять браузерам с поддержкой SSL доступ к SSL–защищеннымдокументам.
Если вы разрабатываете программы CGI, то перед тем, как приступить киспользованию протокола SSL, рекомендуется указать для них следующиепеременные среды SSL:
¹ HTTP_CLIENT_CERT_COMMON_NAME
¹ HTTP_CLIENT_CERT_COUNTRY
¹ HTTP_CLIENT_CERT_ISSUER_COMMON_NAME
¹ HTTP_CLIENT_CERT_ISSUER_COUNTRY
¹ HTTP_CLIENT_CERT_ISSUER_LOCALITY
¹ HTTP_CLIENT_CERT_ISSUER_ORGANIZATION
¹ HTTP_CLIENT_CERT_ISSUER_ORG_UNIT
¹ HTTP_CLIENT_CERT_ISSUER_STATE_OR_PROVINCE
¹ HTTP_CLIENT_CERT_LEN
¹ HTTP_CLIENT_CERT_LOCALITY
¹ HTTP_CLIENT_CERT_ORGANIZATION
¹ HTTP_CLIENT_CERT_ORG_UNIT
¹ HTTP_CLIENT_CERT_SERIAL_NUM
¹ HTTP_CLIENT_CERT_STATE_OR_PROVINCE
¹ HTTP_KEYSIZE
¹ HTTPS
Более подробные сведения о переменных среды CGI приведены в разделе“Переменные среды” на стр. 26.
230 Руководство администратора IBM HTTP Server для AS/400 V4R4
Приложения
Copyright IBM Corp. 1997, 1999 231
232 Руководство администратора IBM HTTP Server для AS/400 V4R4
CFGTCPHTTP
Приложение A. Команды AS/400
Команда CFGTCPHTTP (Настроить HTTP TCP/IP) . . . . . . . . . . . . . . . 233Синтаксис . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233
Параметры . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234Команда CHGHTTPA (Изменить атрибуты HTTP) . . . . . . . . . . . . . . . . 234
Синтаксис . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234Ограничения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234Параметры . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234Примеры . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238
Команда ENDTCPSVR (Остановить сервер TCP/IP) . . . . . . . . . . . . . . 239Синтаксис . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239
Параметры . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239Примеры . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241Меню команды ENDTCPSVR . . . . . . . . . . . . . . . . . . . . . . . . 241
Команда STRTCPSVR (Запустить сервер TCP/IP) . . . . . . . . . . . . . . . 244Синтаксис . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244
Параметры . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244Примеры . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248Меню команды STRTCPSVR . . . . . . . . . . . . . . . . . . . . . . . . 249
Команда WRKHTTPCFG (Работа с конфигурацией HTTP) . . . . . . . . . . . 251Редактирование файла конфигурации с помощью команды WRKHTTPCFG 251Синтаксис . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252
Ограничения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252Параметры . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252Примеры . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252
В данной главе рассматривается выполнение операций по настройке иадминистрированию сервера IBM HTTP Server с помощью команд AS/400.Дополнительную информацию об установке и настройке протокола TCP/IP всистеме AS/400 можно найти в разделе, посвященном TCP/IP, в справочникеAS/400 Information Center.
Команда CFGTCPHTTP (Настроить HTTP TCP/IP)При вводе команды Настроить HTTP TCP/IP (CFGTCPHTTP) выдаетсяодноименное меню, с помощью которого можно настроить конфигурацию сервераПротокола передачи гипертекстовой информации по сети World Wide Web. Спомощью команды CFGTCPHTTP можно изменять атрибуты HTTP или работать сконфигурацией HTTP. Кроме того, если вы установили продукт IBM AS/400 TCP/IPUtilities (5769–TC1), то эта команда позволяет настраивать Шлюз рабочей станции– IBM AS/400 Workstation Gateway (WSG).
СинтаксисCFGTCPHTTP
Copyright IBM Corp. 1997, 1999 233
CHGHTTPA
ПараметрыУ этой команды нет параметров.
Команда CHGHTTPA (Изменить атрибуты HTTP)С помощью команды Изменить атрибуты HTTP (CHGHTTPA) можно изменятьатрибуты сервера Протокола передачи гипертекстовой информации по сети WorldWide Web.
Обратите особое внимание: В случае изменения атрибутов HTTP с помощьюданной команды изменения применяются ко всем серверам и экземплярамсерверов, за следующими исключениями:
¹ Значения, указанные для конкретного экземпляра сервера в формахнастройки и управления, имеют более высокий приоритет, чем значения,задаваемые с помощью команды CHGHTTPA.
¹ Значения, указанные для инициализации экземпляра сервера в параметреHTTPSVR команды Запустить сервер TCP/IP (STRTCPSVR), имеют болеевысокий приоритет, чем значения, задаваемые в любом другом месте.
Изменения вступают в силу при повторном запуске сервера с помощью командыЗапустить TCP/IP (STRTCP) или Запустить сервер TCP/IP (STRTCPSVR).
Синтаксис CHGHTTPA
ОграниченияДля применения данной команды необходимы специальные права доступа*IOSYSCFG.
ПараметрыAUTOSTART
Указывает, должен ли сервер запускаться автоматически при запускепротокола TCP/IP (Протокола управления передачей/Протокола Internet)командой STRTCP. Если для запуска HTTP применяется командаSTRTCPSVR, то сервер будет запускаться независимо от значения этогопараметра. Если сервер уже запущен, то при выполнении командыSTRTCPSVR *HTTP запрос на запуск будет отклонен.
Если существует несколько экземпляров сервера, то перед запускомкоманды с параметром AUTOSTART необходимо убедиться, что все ониработают совместно. Если вы укажете CHGHTTPA AUTOSTART(*YES), то привыполнении команды STRTCP будут запущены все экземпляры сервера.
Допустимы следующие значения:
*SAME:Число серверов, установленное ранее, не изменяется. Если оно неустановлено, то применяется значение *NO.
234 Руководство администратора IBM HTTP Server для AS/400 V4R4
CHGHTTPA
*NO:Не запускать минимальное число нитей сервера, определенных впараметре NBRSVR, если используется команда STRTCP. Воспользуйтесьэтим значением, если вы не собираетесь применять HTTP.
*YES:Запускать минимальное число нитей сервера, определенных в параметреNBRSVR.
NBRSVRЗадает минимальное число запросов, которые сервер может обрабатыватьодновременно, а также максимальное число таких запросов.
Максимальное значение можно задавать с целью предотвратить нехваткусистемных ресурсов во время пиковой нагрузки на сервер HTTP. Значениеэтого параметра следует задавать в соответствии с ожидаемым уровнемактивности HTTP и объемом доступных системных ресурсов. Если припиковой нагрузке на сервер число запросов достигнет заданного максимума,то дополнительные запросы будут поступать в буфер запросов на соединениеи оставаться там до тех пор, пока какое–либо задание сервера неосвободится и не сможет их обработать.
Задаваемое вами число нитей – это число рабочих заданий, применяемыхсервером для обработки запросов.
Фактическое число нитей для сервера будет превышать максимальноезначение, заданное в параметре NBRSVR. Сервер не учитывает другие нити,которые используются экземпляром сервера. Информация о запускаемыхнитях приведена в описании команды STRTCPSVR SERVER(*HTTP) впримере 4.
Максимальное число нитей сервера не может быть меньше их минимальногочисла.
Элемент 1: Минимальное число нитей сервера
Допустимы следующие значения:
*SAME:Минимальное число нитей сервера, установленное ранее, не изменяется.По умолчанию оно равно 10.
*DFT:Минимальное число нитей сервера будет равно значению по умолчанию –10.
минимальное–число–нитей–сервера:Минимальное число запускаемых нитей сервера. Допустимы значения от1 до 200.
Элемент 2: Максимальное число нитей сервера
Приложение A. Команды AS/400 235
CHGHTTPA
*SAME:Максимальное число нитей сервера, установленное ранее, не изменяется.По умолчанию оно равно 40.
*NOMAX:Максимальное число запускаемых нитей сервера не ограничено.
*DFT:Максимальное число нитей сервера будет равно значению по умолчанию– 40. Если вы устанавливаете для этого параметра значение поумолчанию, то минимальное число нитей сервера не может быть больше5.
максимальное–число–нитей–сервера:Максимальное число запускаемых нитей сервера. Допустимы значения от1 до 200. Максимальное число нитей сервера не может быть меньше ихминимального числа.
CCSIDВ этом параметре задается идентификатор набора символов (CCSID)Американского стандартного кода для обмена информацией (ASCII). Спомощью этого параметра можно преобразовать код ASCII в расширенныйдвоично–десятичный код для обмена информацией (EBCDIC) и обратно.Применяйте его в том случае, когда браузер World Wide Web (WWW) неопределяет набор символов и кодовую страницу в заголовке MIME.Преобразование определяется с помощью:
¹ Значений заголовка MIME
¹ Значения CCSID ASCII или значения CCSID EBCDIC (по умолчанию) длязадания.
При желании вы можете применять таблицы преобразования передаваемых ипринимаемых данных, которые определяются параметрами TBLHTTPOUT иTBLHTTPIN соответственно. Обычно для параметров TBLHTTPOUT иTBLHTTPIN задаются значения по умолчанию *CCSID или *DFT. Оба значениядолжны указывать, что для преобразования сервер будет применять значениепараметра CCSID.
Если вы используете таблицу преобразования передаваемых данных, то впараметре TBLHTTPOUT можно указать объект таблицы. Этот объект затемможно применять для преобразования передаваемых данных вместозначения CCSID.
Точно так же можно использовать таблицу преобразования принимаемыхданных, указывая объект таблицы в параметре TBLHTTPIN. Эта таблицапреобразования будет переопределять значение CCSID и будет применятьсяпри преобразовании принимаемых данных.
Допустимы следующие значения:
236 Руководство администратора IBM HTTP Server для AS/400 V4R4
CHGHTTPA
*SAME:Значение CCSID, установленное ранее, не изменяется; если оно неустановлено, то применяется значение 00819 (ISO 8859–1, 8–разрядныйASCII).
*DFT:Значение CCSID равно 00819 (ISO 8859–1, 8–разрядный ASCII).
значение–CCSID:Применять запрошенное значение CCSID. Сервер проверит это значение,чтобы убедиться, что вы запрашиваете допустимый CCSID ASCII.
TBLHTTPOUTЗадает объект таблицы, который будет применяться сервером дляпреобразования всех передаваемых данных в HTTP. Сервер преобразуетпередаваемые данных из кода EBCDIC в код ASCII.
Если объект таблицы задается для параметра TBLHTTPOUT, то сервер будетприменять этот объект для преобразования передаваемых данных. Впротивном случае сервер будет определять преобразование передаваемыхданных по параметру CCSID.
Допустимы следующие значения:
*SAME:Значение параметра TBLHTTPOUT, установленное ранее, не изменяется;если оно не было установлено, то сервер использует значение *CCSID.
*CCSID:Сервер определяет преобразование передаваемых данных по параметруCCSID.
*DFT:Сервер определяет преобразование передаваемых данных по параметруCCSID.
Вы можете уточнить имя таблицы преобразования передаваемых данных,указав, в какой библиотеке искать таблицу:
*LIBL:Сервер просматривает все библиотеки из списка библиотек задания,пока не обнаружит совпадения.
*CURLIB:Сервер просматривает текущую библиотеку задания, а если она неуказана, то библиотеку QGPL.
имя–библиотекиЗадает имя библиотеки, в которой ведется поиск.
таблица–преобразования–передаваемых–данных:Задает объект таблицы, который будет применяться для преобразованияданных, передаваемых сервером.
Приложение A. Команды AS/400 237
CHGHTTPA
TBLHTTPINЗадает объект таблицы, который будет применяться для преобразования всехпринимаемых сервером данных в HTTP. Сервер преобразует принимаемыеданные из кода ASCII в код EBCDIC.
Если объект таблицы задается для параметра TBLHTTPIN, то сервер будетприменять этот объект для преобразования принимаемых данных. Впротивном случае сервер будет определять преобразование принимаемыхданных по параметру CCSID.
Допустимы следующие значения:
*SAME:Значение параметра TBLHTTPIN, установленное ранее, не изменяется;если оно не установлено, то применяется значение *CCSID.
*CCSID:Сервер будет определять преобразование принимаемых данных попараметру CCSID.
*DFT:Сервер будет определять преобразование принимаемых данных попараметру CCSID.
Вы можете уточнить имя таблицы преобразования принимаемых данных,указав, в какой библиотеке искать таблицу:
*LIBL:Сервер просматривает все библиотеки из списка библиотек задания,пока не обнаружит совпадения.
*CURLIB:Сервер просматривает текущую библиотеку задания, а если она неуказана, то библиотеку QGPL.
имя–библиотекиЗадает имя библиотеки, в которой ведется поиск.
таблица–преобразования–принимаемых–данных:Задает объект таблицы, который будет применяться для преобразованияданных, принимаемых сервером.
ПримерыПример 1: Изменение атрибутов HTTP для автоматического запуска серверапри выполнении команды CL Запустить TCP/IP (STRTCP).
CHGHTTPA AUTOSTART(*YES)
Данная команда указывает, что сервер будет запускаться автоматически приследующем выполнении команды STRTCP. Экземпляры сервера будутзапускаться автоматически, если для них не заданы параметры,переопределяющие значение AUTOSTART.
238 Руководство администратора IBM HTTP Server для AS/400 V4R4
ENDTCPSVR
Пример 2: Изменение атрибутов HTTP для запуска не менее 10 и не более 50нитей сервера
CHGHTTPA NBRSRV(10 50)
Данная команда указывает, что при следующем запуске HTTP будутавтоматически запускаться 10 нитей сервера. Сервер разрешает запускать неболее 50 нитей для обработки поступающих запросов HTTP.
Пример 3: Применение таблиц преобразования данных
CHGHTTPA TBLHTTPOUT(*LIBL/TSTHTTPO)
TBLHTTPIN(*LIBL/TSTHTTPI)
Данная команда указывает, что следующий запуск сервера будет выполнен сперечисленными ниже характеристиками:
¹ Для преобразования от кода ASCII к коду EBCDIC и обратно сервер будетприменять таблицы преобразования передаваемых и принимаемых данных, ане значение CCSID.
¹ Для преобразования передаваемых данных в HTTP сервер будет применятьинформацию из объекта таблицы TSTHTTPO, находящегося в одной избиблиотек, перечисленных в списке библиотек.
¹ Для преобразования принимаемых данных в HTTP сервер будет применятьинформацию из объекта таблицы TSTHTTPI, находящегося в одной избиблиотек, перечисленных в списке библиотек.
Команда ENDTCPSVR (Остановить сервер TCP/IP)Команда ENDTCPSVR предназначена для завершения заданий сервераприложений TCP/IP, указанных в параметре SERVER. Все текущие активныесоединения для заданий будут немедленно прерваны. Если команда ENDTCPSVRбудет применена для завершения неактивного сервера, то будет выданодиагностическое сообщение.
Синтаксис ENDTCPSVR SERVER(сервер)
ПараметрыSERVER
Указывает задания сервера приложений TCP/IP, которые вы хотите завершитьс помощью этой команды.
Допустимы следующие значения:
*ALLЗавершить все задания сервера TCP/IP.
*ROUTEDЗавершить задание RouteD.
Приложение A. Команды AS/400 239
ENDTCPSVR
*TFTPЗавершить все задания сервера Упрощенного протокола передачифайлов (TFTP).
*BOOTPЗавершить все задания сервера начальной загрузки (BOOTP).
*SNMPЗавершить все задания, связанные с агентом SNMP (Простого протоколауправления сетью) в подсистеме QSYSWRK.
*TELNETЗавершить все задания сервера TELNET.
*FTPЗавершить все задания сервера FTP (Протокола передачи файлов).
*SMTPЗавершить все задания, связанные с SMTP (Простым протоколомпередачи почты) в подсистеме QSYSWRK. Задание моста в подсистемеQSNADS при этом не завершается.
*LPDЗавершить все задания сервера LPD (Демона построчного принтера).
*HTTPЗавершить работу всех экземпляров IBM HTTP Server, если не указаноодно из следующих значений:
¹ Имя конкретного экземпляра сервера в параметре HTTPSVR. Есливы указываете конкретный экземпляр сервера, то будет завершенаработа только этого экземпляра.
¹ Значение *ADMIN в параметре HTTPSVR. При указанииHTTPSVR(*ADMIN) будут завершены только административныесерверы.
Если вы хотите остановить все экземпляры сервера, введите одну изследующих команд:
ENDTCPSVR SERVER(*HTTP)
ENDTCPSVR SERVER(*HTTP) HTTPSVR(*ALL)
*WSGЗавершить задание сервера Шлюза рабочей станции 5250/HTML.
*POPЗавершить все задания почтового сервера POP3.
*REXECЗавершить все задания сервера REXEC.
HTTPSVRЗадает имя останавливаемого экземпляра сервера. Если в параметреSERVER не указано значение *HTTP, то данный параметр игнорируется.
240 Руководство администратора IBM HTTP Server для AS/400 V4R4
ENDTCPSVR
Если вы определили несколько экземпляров сервера, то можно выбратьопцию завершения работы всех экземпляров. Кроме того, вы можетеостановить только один экземпляр, указав его имя в данном параметре.
Допустимы следующие значения:
*ALLОстановить все экземпляры сервера, активные на данный момент.
имя–экземпляра–сервера:Остановить указанный экземпляр сервера.
*ADMIN:Остановить административный сервер (ADMIN). Административныйсервер – это экземпляр сервера, позволяющий управлятьопределенными функциями AS/400 с помощью Web–браузера.
ПримерыПример 1: Завершение работы всех серверов TCP/IP
ENDTCPSVR
Данная команда завершает все активные задания сервера приложений TCP/IP,запущенные в подсистеме QSYSWRK.
Пример 2: Завершение работы серверов LPD
ENDTCPSVR SERVER(*LPD)
Данная команда завершает задания сервера приложений LPD TCP/IP.
Пример 3: Завершение работы конкретного экземпляра сервера
ENDTCPSVR SERVER(*HTTP) HTTPSVR(http1)
Данная команда завершает работу экземпляра сервера с именем http1.
Меню команды ENDTCPSVR
Приложение A. Команды AS/400 241
ENDTCPSVR
� �Остановить сервер TCP/IP (ENDTCPSVR)
Введите варианты, нажмите Enter.
Приложение сервера . . . . . . . *ALL *ALL, *SNMP, *ROUTED...+ для доп. значений
Конец F3=Выход F4=Приглашение F5=Обновить F12=Отмена F13=Как работать с этим меню F24=Доп. клавиши
� �
Рисунок 1. Меню команды ENDTCPSVR
Если в первой строке ввести символ "?" (вопросительный знак), то появитсяследующая панель:
242 Руководство администратора IBM HTTP Server для AS/400 V4R4
ENDTCPSVR
� � Задать значение для параметра SERVER
Введите опцию и нажмите Enter.
Приложение сервера . . . . . . . *ALL
Одиночные значения *ALL Другие значения Другие значения *SNMP *LPD *ROUTED *HTTP *BOOTP *WSG *TFTP *POP *DNS *REXEC *DHCP *NMSI *DDM *DCE *TELNET *DIRSRV *FTP *USF *SMTP *NSLD
F3=Выход F5=Обновить F12=Отмена F13=Как работать с этим меню F24=Доп. клав.
� �
Рисунок 2. Значения параметров команды ENDTCPSVR
Если во второй строке ввести "+" (знак "плюс"), то сервер выдаст следующуюпанель:
Приложение A. Команды AS/400 243
STRTCPSVR
� �Задать дополнительные значения для параметра SERVER
Введите опцию и нажмите Enter.
Приложение сервера . . . . . . . *ALL *ALL, *SNMP, *ROUTED...
Конец F3=Выход F4=Приглашение F5=Обновить F12=Отмена F13=Как работать с этим меню F24=Доп. клавиши
� �
Рисунок 3. Параметр SERVER команды ENDTCPSVR
Команда STRTCPSVR (Запустить сервер TCP/IP)Команда Запустить сервер TCP/IP (STRTCPSVR) предназначена для запускасерверов приложений TCP/IP. Серверы приложений поставляются фирмой IBMвместе с операционной системой OS/400 или с продуктом TCP/IP. Даннаякоманда запускает задания TCP/IP в подсистеме QSYSWRK для серверовприложений, указанных в параметре сервера (SERVER). Число заданий сервера,запускаемых этой командой, можно задать в конфигурации конкретногоприложения TCP/IP.
Для всех серверов предусмотрен параметр автоматического запуска(AUTOSTART), задаваемый в соответствующей команде настройки (например, вкоманде Изменить атрибуты FTP (CHGFTPA)). Этот параметр указывает, следуетли запускать сервер при выполнении команды Запустить TCP/IP (STRTCP).Команда STRTCPSVR игнорирует параметр автоматического запуска.
Синтаксис STRTCPSVR SERVER(сервер)
ПараметрыSERVER
Задает серверы приложений TCP/IP, запускаемые данной командой.
Допустимы следующие значения:
244 Руководство администратора IBM HTTP Server для AS/400 V4R4
STRTCPSVR
*ALLЗапустить все серверы и все экземпляры серверов приложений TCP/IP.
*SNMPЗапустить задания агента SNMP (Простого протокола управления сетью).При повторном применении команды STRTCPSVR SERVER(*SNMP)после запуска заданий сервера SNMP выдается диагностическоесообщение.
*ROUTEDЗапустить сервер RouteD. При повторном применении командыSTRTCPSVR SERVER(*ROUTED) после запуска сервера RouteD выдаетсядиагностическое сообщение.
*TFTPЗапустить экземпляры сервера Упрощенного протокола передачи файлов(TFTP). Число запускаемых экземпляров было задано с помощьюкоманды Изменить атрибуты TFTP (CHGTFTPA). При повторномприменении команды STRTCPSVR SERVER(*TFTP) после запусказаданий сервера TFTP выдается диагностическое сообщение.
*BOOTPЗапустить экземпляры сервера начальной загрузки (BOOTP). Числозапускаемых экземпляров было задано с помощью команды Изменитьатрибуты BOOTP (CHGBPA). При повторном применении командыSTRTCPSVR SERVER(*BOOTP) после запуска заданий сервера BOOTPвыдается диагностическое сообщение.
*TELNETЗапустить сервер TELNET. При повторном применении командыSTRTCPSVR SERVER(*TELNET) запускается дополнительный серверTELNET.
Примечание: Одновременное использование нескольких заданийсервера TELNET снижает вероятность отказа всоединении.
*FTPЗапустить экземпляры сервера FTP (Протокола передачи файлов). Числозапускаемых экземпляров было задано с помощью команды Изменитьатрибуты FTP (CHGFTPA). При повторном применении командыSTRTCPSVR SERVER(*FTP) запускается дополнительный сервер FTP.
Примечание: Одновременное использование нескольких заданийсервера FTP повышает быстродействие при открытиисеанса FTP. Это особенно полезно, когда за короткийпромежуток времени соединение с сервером пытаютсяустановить сразу несколько пользователей.
*SMTPЗапустить задания клиента и сервера Простого протокола передачи почты(SMTP). Дополнительные задания клиента и сервера SMTP запускать
Приложение A. Команды AS/400 245
STRTCPSVR
нельзя. При повторном применении команды STRTCPSVRSERVER(*SMTP) после запуска заданий сервера SMTP выдаетсядиагностическое сообщение.
*LPDЗапустить экземпляры сервера Демона построчного принтера (LPD).Число запускаемых экземпляров было задано с помощью командыИзменить атрибуты LPD (CHGLPDA). При повторном применении командыSTRTCPSVR SERVER(*LPD) запускается дополнительный сервер LPD.
Примечание: LPD работает наиболее эффективно, если запущено неменее двух экземпляров сервера. Если запустить толькоодин экземпляр, то сервер будет работать, однако в этомслучае он не сможет принимать новые задания печати,пока не закончит обработку текущего задания. Есливыполняется большое задание печати, то новые заданияпечати должны будут ожидать, пока сервер LPD не будетготов принять новый запрос LPR.
*HTTPЗапустить один или несколько экземпляров сервера IBM HTTP Server.(См. параметр HTTPSVR.) При повторном применении командыSTRTCPSVR SERVER(*HTTP) после запуска сервера HTTP выдаетсядиагностическое сообщение.
*WSGЗапустить задание сервера Шлюза рабочей станции 5250/HTML. Приповторном применении команды STRTCPSVR SERVER(*WSG) послезапуска сервера Шлюза рабочей станции выдается диагностическоесообщение.
*POPЗапустить экземпляры почтового сервера POP (сервера почтовогопротокола). Число запускаемых экземпляров было задано с помощьюкоманды Изменить атрибуты POP (CHGPOPA). При повторномвыполнении команды STRTCPSVR SERVER(*POP) запускаетсядополнительный сервер POP.
*REXECЗапустить экземпляры сервера удаленного выполнения (REXEC). Числозапускаемых экземпляров было задано с помощью команды Изменитьатрибуты REXEC (CHGRXCA). При повторном выполнении командыSTRTCPSVR SERVER(*REXEC) запускается дополнительный серверREXEC.
RESTARTУказывает, нужно ли повторно запускать выбранный сервер при выполнениикоманды STRTCPSVR. Если на момент выполнения команды STRTCPSVRуказанный сервер не активен, то этот параметр игнорируется, а серверзапускается.
246 Руководство администратора IBM HTTP Server для AS/400 V4R4
STRTCPSVR
В параметре SERVER необходимо указать значение *ALL или *HTTP. Впротивном случае он будет игнорироваться сервером. Параметр RESTARTпозволяет запустить не более одного сервера одновременно.
Допустимы следующие значения:
*NONE:Не запускать повторно никаких серверов.
*HTTP:Повторно запустить сервер, указанный в параметре HTTPSVR.
HTTPSVRЗадает запускаемый экземпляр сервера. Кроме того, этот параметропределяет дополнительные параметры инициализации, применяемые присоздании экземпляра сервера.
Если вы определили несколько экземпляров сервера, то можно выбратьопцию запуска всех экземпляров. Кроме того, вы можете запустить толькоодин экземпляр, указав его имя в данном параметре.
Допустимы следующие значения:
*ALL:Запустить все определенные экземпляры сервера.
Элемент 1: Имя экземпляра сервера
имя–экземпляра–сервераЗапустить указанный экземпляр сервера.
*ADMIN:Запустить административный сервер (ADMIN). Административный сервер– это экземпляр сервера, позволяющий управлять определеннымифункциями AS/400 с помощью Web–браузера.
Элемент 2: Параметры инициализации экземпляра
*NONE:Дополнительные параметры инициализации не определяются.
параметры–инициализации–экземпляра:Задает дополнительные параметры инициализации экземпляра сервера.Сервер использует их для переопределения заданных ранее параметровинициализации экземпляра сервера.
Для переопределения параметров инициализации необходимыспециальные права доступа *IOSYSCFG. Если задать параметрыинициализации экземпляра сервера, не имея прав доступа *IOSYSCFG, тосервер аннулирует запрос на запуск.
Примечание: Фирма IBM рекомендует соблюдать особую осторожностьпри переопределении параметров инициализации и делатьэто только в крайних случаях. Задать параметрыинициализации можно в формах настройки и управления.
Приложение A. Команды AS/400 247
STRTCPSVR
Параметры инициализации экземпляра сервера,указанные в этом параметре, имеют более высокийприоритет, чем значения, заданные в конфигурацииэкземпляра.
–netccsid [nnn]Переопределяет директиву DefaultNetCCSID
–fsccsid [nnn]Переопределяет директиву по умолчанию DefaultFsCCSID
–p [nnnn]Переопределяет директиву Port
–sslport [nnnn]Переопределяет директиву SSLPort
–r [файл конфигурации]Добавляет конфигурацию для экземпляра сервера
–nolastmod [файл конфигурации]При обработке CGI удаляет заголовок Last–Modified
–l [имя–файла–протокола]То же, что и "AccessLog имя–файла–протокола"
–newlog [имя–файла–протокола]То же, что и "AccessLog имя–файла–протокола и LogformatCommon"
–ddslog [имя–файла–протокола]То же, что и "AccessLog имя–файла–протокола и LogformatDDS"
–errlog [имя–файла–протокола]То же, что и "ErrorLog имя–файла–протокола"
–minat [nn]Переопределяет директиву MinActiveThreads
–maxat [nn]Переопределяет директиву MaxActiveThreads
ПримерыПример 1: Запуск всех серверов TCP/IP
STRTCPSVR
Данная команда запускает все серверы приложений TCP/IP, которые вынастроили. Например, если вы предварительно настроили два сервера FTP (спомощью команды Изменить атрибуты FTP (CHGFTPA)), то при выполнениикоманды STRTCPSVR будут запущены оба этих сервера. То же справедливо и вотношении других серверов приложений TCP/IP.
248 Руководство администратора IBM HTTP Server для AS/400 V4R4
STRTCPSVR
Команда STRTCPSVR запускает столько экземпляров каждого сервера, скольковы настроили для него. Команда STRTCPSVR игнорирует параметравтоматического запуска серверов (AUTOSTART). Параметр AUTOSTARTиспользуется сервером только при выполнении команды STRTCP.
Пример 2: Запуск сервера TELNET
STRTCPSVR SERVER(*TELNET)
Данная команда запускает сервер приложения TELNET TCP/IP. Если серверTELNET уже активен, то запускается дополнительное задание сервера TELNET.
Пример 3: Повторный запуск сервера
STRTCPSVR SERVER(*HTTP) RESTART(*HTTP)
Данная команда повторно запускает все экземпляры сервера. Если сервер вданный момент не активен, то запускаются все определенные экземплярысервера.
Пример 4: Запуск экземпляра сервера
STRTCPSVR SERVER(*HTTP) HTTPSVR(http1)
Данная команда запускает экземпляр http1, используя при этом параметрыинициализации, заданные вами ранее для этого экземпляра сервера.
Запускаемые сервером задания находятся в подсистеме QHTTPSVR. Имязадания – это имя экземпляра сервера. Просмотреть запущенные задания можнос помощью команды:
WRKACTJOB SBS(QHTTPSVR) JOB(http1)
Если сервер не обрабатывает запросы, то они обрабатываются "заданиями–исполнителями", т.е. заданиями с состоянием DEQW.
Пример 5: Указание параметров инициализации для экземпляра сервераHTTP
STRTCPSVR SERVER(*HTTP) HTTPSVR(HTTP1 '–p 81 –sslport 443')
Данная команда запускает экземпляр сервера с именем http1. Кроме того, онаопределяет, что экземпляр сервера должен использовать порт 81 при работе снезащищенными запросами и порт 443 при работе с защищенными запросами.Номера портов, указанные в этой команде, переопределяют все номера портов,ранее заданные для экземпляра сервера.
Меню команды STRTCPSVRНиже показан примерный вид меню команды, которое появляется при вводекоманды STRTCPSVR SERVER(*HTTP) и нажатии клавиши F4:
Приложение A. Команды AS/400 249
STRTCPSVR
� �Запустить сервер TCP/IP (STRTCPSVR)
Введите варианты, нажмите Enter.
Приложение сервера . . . . . . . *HTTP *SELECT, *ALL, *SNMP...+ для доп. значений
Повторно запускать сервер . . . *NONE *NONE, *HTTP Сервер:
Экземпляр сервера. . . . . . . *ALL Имя, *ALL, *ADMINПараметры иниц. экземпляра . . ____________________________________________
_______________________________________________________________________________ _______________________________________________________________________________ ______________________________________
F3=Выход F4=Приглашение F5=Обновить F12=Отмена F13=Как работать с этим меню F24=Доп. клавиши
� �
Рисунок 4. Меню команды STRTCPSVR
Ниже показан примерный вид меню команды, которое появляется при вводекоманды STRTCPSVR SERVER(*HTTP) HTTPSVR(http1) и нажатии клавиши F4. Вэтом случае http1 – запускаемый экземпляр сервера.
250 Руководство администратора IBM HTTP Server для AS/400 V4R4
WRKHTTPCFG
� �Запустить сервер TCP/IP (STRTCPSVR)
Введите варианты, нажмите Enter.
Приложение сервера . . . . . . . *HTTP *SELECT, *ALL, *SNMP...+ для доп. значений
Повторно запускать сервер . . . *NONE *NONE, *HTTP Сервер:
Экземпляр сервера. . . . . . . HTTP1 Имя, *ALL, *ADMINПараметры иниц. экземпляра . . *NONE_______________________________________
_______________________________________________________________________________ _______________________________________________________________________________ ______________________________________
F3=Выход F4=Приглашение F5=Обновить F12=Отмена F13=Как работать с этим меню F24=Доп. клавиши
� �
Рисунок 5. Значения полей меню команды STRTCPSVR
Команда WRKHTTPCFG (Работа с конфигурацией HTTP)Команда WRKHTTPCFG (Работа с конфигурацией HTTP) выдает список записейконфигурации сервера IBM HTTP Server. Каждая из записей – это директиваHTTP, определяющая действия сервера.
Вы можете добавлять, изменять, копировать, удалять, просматривать, вставлять исортировать записи. Кроме того, вы можете напечатать этот список.
Редактирование файла конфигурации с помощью команды WRKHTTPCFGПервая строка файла конфигурации всегда должна быть строкой комментария (#).Это объясняется тем, как сервер IBM HTTP Server обрабатывает файлыконфигурации. Если первая строка файла не будет строкой комментария, тосервер будет неправильно обрабатывать файлы конфигурации.
Перед тем, как редактировать файл конфигурации непосредственно,настоятельно рекомендуется поработать с формами настройки иуправления.
Подробную информацию о работе с формами настройки и управления можнонайти в справочнике AS/400 Information Center.
Приложение A. Команды AS/400 251
WRKHTTPCFG
Внимание!
При редактировании файла конфигурации с помощью команды WRKHTTPCFGне забудьте, что первая строка этого файла должна быть строкой комментария(#).
При создании нового файла конфигурации сервер автоматически добавляетпервую строку комментария.
Синтаксис WRKHTTPCFG
ОграниченияДля добавления, изменения, копирования, удаления или вставки записейнеобходимы специальные права доступа *IOSYSCFG. Для просмотра записейспециальных прав доступа не нужно.
ПараметрыCFG
Задает конфигурацию, с которой вы будете работать.
Допустимы следующие значения:
CONFIGРабота с конфигурацией по умолчанию (CONFIG).
*ADMINРабота с административной конфигурацией.
Примечание: Будьте предельно внимательны при настройкеадминистративного сервера. Это задача повышеннойсложности.
имя–конфигурацииЗадает имя конфигурации.
ПримерыПример 1:
WRKHTTPCFG
Данная команда позволяет работать с директивами конфигурации HTTP.
Пример 2:
WRKHTTPCFG CFG(CONFIG_2)
Данная команда позволяет работать с директивами конфигурации HTTP с именем“CONFIG_2.”
252 Руководство администратора IBM HTTP Server для AS/400 V4R4
QTMHIMAG
Приложение B. Обработка карт изображений с помощьюпрограммы HTImage
Данная глава посвящена работе с программой HTImage, которая поставляетсявместе с IBM HTTP Server. Ранее программа HTImage называлась QTMHIMAG.
Если вы хотите, чтобы пользователи могли загружать страницы URL, щелкнув насоответствующем участке изображения, то вам необходимо использовать картуизображения.
Существуют следующие типы программ обработки карт изображений:
¹ Обработка карт изображений на клиенте поддерживается некоторыми Web–браузерами (Netscape Navigator и Microsoft Internet Explorer). Если у вашихпользователей есть Web–браузеры, поддерживающие тег USEMAP, топрограмма HTImage не нужна.
¹ Вы можете воспользоваться программой обработки карт изображенийHTImage, поставляемую фирмой IBM вместе с продуктом IBM HTTP Server.Она описана в данной главе.
Программа HTImage, поставляемая фирмой IBM вместе с сервером IBM HTTPServer, позволяет обрабатывать карты изображений с активными областями.Средства встроенного API программы HTImage позволяют связыватьопределенные области на карте изображений с конкретными адресами URL. Прищелчке на данной области программа HTImage выдает URL, связанный с этойобластью.
Программу HTImage нельзя запустить из командной строки. Для работы спрограммой HTImage необходимо выполнить следующие действия:
¹ Проверьте, настроены ли директивы Service, необходимые для запускапрограммы HTImage. Ниже приведен пример таких директив:
Service /HTImage* INTERNAL:HTImage*
¹ Включите HTImage в тег ссылки в документе HTML. При обработке этогодокумента сервер будет вызывать программу HTImage.
URL для карт изображений необходимо задавать в следующем формате:
HTImage {файл_карты}[?параметры]
Примечание: До версии V4R3 эта функция выполнялась программой CGI. Выможете изменить существующую конфигурацию, чтобы можнобыло использовать средства встроенного API новой программы.Укажите для этого следующую директиву:
Service /cgi–bin/QTMHIMAG.PGM* INTERNAL:HTImage*
Программа обработки карт изображения обращается к файлу карты. Файл карты –это текстовый файл, который задает координаты (x,y) различных областейизображения и ставит им в соответствие адреса URL.
Copyright IBM Corp. 1997, 1999 253
QTMHIMAG
Примечание: В настоящее время все браузеры и серверы принимают файлизображения в формате GIF. GIF – это 8–разрядный форматизображения с 256 цветами.
Если пользователь отправляет запрос из пользовательской программы, то онобрабатывается как запрос на вызов стандартной программы, который долженсоответствовать требованиям интерфейса CGI.
Если пользователь отправляет запрос из программы сервера, то сервервычисляет, в какой области изображения находится выбранная точка, иопределяет ее координаты (x,y), которые будут входными параметрами длязапроса к карте изображения. Сервер просматривает файл спецификации картыизображения (который он помещает в переменные среды PATH_INFO иPATH_TRANSLATED) в поисках следующей информации:
¹ Какой области соответствуют указанные координаты
¹ Какой документ HTML вызывать, если пользователь выбрал эту областьизображения
Входные параметры передаются от браузера. Например, при щелчке на какой–либо области URL браузера может выглядеть следующим образом:
/HTImage/QSYS.LIB/AS400CGI.LIB/MAPCONFIG.FILE/MAPRULE.MBR?395,290
Последние два числа – это координаты, передаваемые как параметры впрограмму HTImage. Программа HTImage определяет, какой областиизображения, в соответствии с файлом конфигурации карты, принадлежит точка сэтими координатами. В приведенном примере файлы конфигурации(определяющие активные области изображения в виде кругов, прямоугольников имногоугольников) создавались администратором с помощью средствредактирования карт. С его помощью можно создавать конфигурацию карты длялюбого изображения. Это средство в системе AS/400 в настоящее время неподдерживается.
ТребованияФайл спецификации карты изображения (файл карты) ставит в соответствиеконкретному изображению один или несколько URL. Этот файл должен бытьэлементом файла, который задается в части запрошенного URL, содержащей имяфайла карты.
Данный файл должен содержать следующие элементы:
¹ Формы областей
¹ Координаты граничных точек области
¹ URL документа, вызываемого в случае, если пользователь выбрал эту областьизображения
Файл карты должен создаваться разработчиком изображения (картинки) сактивными областями.
254 Руководство администратора IBM HTTP Server для AS/400 V4R4
QTMHIMAG
URL должен содержать следующую информацию:
¹ Имя программы обработки карты изображения (program–spec)
¹ Имя файла спецификации карты изображения (файла карты)
¹ Пару координат точки изображения для тестирования
СинтаксисПрограмму HTImage можно вызывать только из тега ссылки (<A>) в документеHTML. Поэтому при записи ссылки необходимо применять синтаксическиеправила HTML. Формат тега ссылки HTML на карту изображения следующий:
<A HREF="http:// имя–сервера/program–spec/файл–карты"><IMG SRC=""файл карты" ISMAP></A>
Тег ссылки должен содержать полный URL, а не только путь к данным.
<A HREF="http://имя–сервера/program–spec/файл–карты">Атрибут HREF тега ссылки (<A>) задает URL программы HTImage. За нимследует URL файла карты.
Такой синтаксис предполагает, что вы указали директиву Service, котораяпозволяет применять встроенный API программы HTImage.
Сервер воспринимает всю информацию, следующую за /HTImage/, как URLфайла карты. Если сервер использует конфигурацию по умолчанию, а URLсодержит только имя файла, то сервер будет искать файл в корневомкаталоге документа.
<IMG SRC="image–spec" ISMAP></A>В атрибуте SRC тега изображения (IMG) задается URL файла с графическимизображением, которое вы хотите использовать в качестве картыизображения.
Атрибут ISMAP указывает, что это графическое изображение будет картойизображения.
Примеры создания карт изображенийДля создания карты изображения можно разбить это изображение на несколькообластей, которые могут быть выбраны браузером. Такие области называютсяактивными областями. Для определения активных областей внутри данногоизображения в файле карты задаются следующие параметры:
¹ Форма (круг, прямоугольник, многоугольник).
¹ Координаты (x,y), задающие границы и расположение активной области.
¹ URL документа HTML, вызываемого при выборе точек внутри даннойактивной области в окне браузера.
Приложение B. Обработка карт изображений с помощью программы HTImage 255
QTMHIMAG
Ниже приведено описание файлов карты, которые должны использоваться приработе с программой HTImage. Программа обработки карт изображенийвыполняет следующие действия:
1. Определяет координаты (x,y) точки, выбранной клиентом
2. Находит запись файла карты, соответствующую активной области с этимикоординатами (x,y)
3. Возвращает документ HTML, соответствующий этой активной области
Указывая несколько записей в файле карты, можно определять активные областисложной формы (например, многоугольники). В этом случае все записи в файлекарты будут возвращать один и тот же URL. Формат строк файла должен бытьследующим:
форма область URL
форма областьОдна из следующих записей:
¹ default
¹ circle (x,y) r
¹ rectangle (x1,y1) (x2,xy)
¹ polygon (x1,y1) (x2,y2) (x3,y3)
default(по умолчанию) Для точек, которые сервер не находит в областях, формыкоторых перечислены в списке. Ключевое слово default не определяетникакой активной области. За этим ключевым словом следует URL.Браузер обрабатывает этот URL, если пользователь щелкает на тех частяхкарты изображения, которые не описаны в файле карты.
circle(круг) Активная область – круг. Для определения круга необходимозадать координаты (x,y) его центра и радиус. Пример:
circle (302,169) 63 http://имя–хоста/
qsys.lib/as400lib.lib/html.file/
data.MBR
rectangle(прямоугольник) Активная область – прямоугольник. Прямоугольникопределяется двумя парами координат (x,y):
¹ Координаты левого верхнего угла прямоугольника
¹ Координаты правого нижнего угла прямоугольника
Квадрат – частный случай прямоугольника. Пример:
rect (593,192) (775,458) http://имя–хоста/
qsys.lib/as400lib.lib/html.file/data2.MBR
256 Руководство администратора IBM HTTP Server для AS/400 V4R4
QTMHIMAG
polygon(многоугольник) Активная область – многоугольник. Для заданиямногоугольника можно использовать до 100 пар координат. Последняяточка соединяется с первой. Число пар координат зависит от числа сторонмногоугольника. Пример:
poly (4,260) (77,245) (55,163) (111,131)
(177,161) (165,241) (247,275) (289,377)
(229,393) (180,458) (36,458) (1,445) http://
/qsys.lib/as400lib.lib/html.file/data3.MBR
Можно использовать укороченные имена форм, например, вместо"polygon" указывать "poly", а также:
"def" (3 символа) вместо default
"circ" (4 символа) вместо circle
"rect" (4 символа) вместо rectangle
"poly" (4 символа) вместо polygon
Регистр символов не учитывается.
URLURL задает объект, который вызывается, когда сервер определяет, что точканаходится внутри конкретной активной области. На рисунке рис. 6 на стр. 258показана карта изображения.
Сервер проверяет активные области в том порядке, в каком они указаны вфайле карты. Если в активной области есть другие активные области, топервой в файле карты нужно указывать самую внутреннюю область.
Рассмотрим, например, точку на карте изображения внутри активной области(прямоугольника), содержащейся в другой активной области (круге). Точкапринадлежит как внешней области (кругу), так и внутренней области(прямоугольнику). Следовательно, если сервер начнет проверку с самойвнешней области, то он обнаружит, что точка ей принадлежит. Так каксовпадение будет обнаружено, то сервер уже не будет проверять,принадлежит ли точка внутренней области. Сервер будет обрабатыватьдокумент, URL которого соответствует внешней активной области.
Если вы указываете пользовательскую программу обработки картыизображения, то сервер обрабатывает вашу запись как запрос на вызовстандартной программы. Затем сервер ожидает, что программа передастклиенту документ HTML. Поддержка определенных форм активных областей вэтом случае не требуется. Формат и прочие требования к файлу картыопределяются пользовательской программой.
Приложение B. Обработка карт изображений с помощью программы HTImage 257
QTMHIMAG
Рисунок 6. Пример карты изображения HTTP
258 Руководство администратора IBM HTTP Server для AS/400 V4R4
Приложение C. Анализ неполадок
Анализ неполадок, связанных с файлом конфигурацииПервая строка в файле конфигурации IBM HTTP Server должна содержатькомментарий, т.е. начинаться с символа #.
Если первая строка файла не является строкой комментария, то при обработкефайла могут возникнуть ошибки.
Если файл конфигурации обновляется только с помощью форм настройки иадминистрирования, сервер всегда добавляет в начало файла конфигурациистроку–комментарий. При обновлении файлов конфигурации с помощью этихформ комментарии в этих файлах не изменяются.
Самую последнюю информацию об обнаруженных ошибках и методах ихустранения можно найти в Internet: http://www.as400.ibm.com/http
Внимание!
Если вы редактируете файл конфигурации непосредственно с помощьюкоманды WRKHHTPCFG, оставьте комментарий (#) в первой строке файла.
При создании нового файла конфигурации сервер автоматически добавляеткомментарий в первую строку.
Признак
Повторяющиеся записи в файле конфигурации.
Причина: Записи файла конфигурации могут повторяться при одновременномобновлении файла с помощью форм настройки и команды Работа сконфигурацией HTTP (WRKHTTPCFG).
Устранение: Обновляйте файл с помощью форм настройки или с помощьюкоманды WRKHTTPCFG. Применять оба этих способа одновременно не следует.
Более подробные сведения о работе с формами настройки и администрированияприведены в AS/400 Information Center.
Информация о работе с командой WRKHTTPCFG приведена в разделе “КомандаWRKHTTPCFG (Работа с конфигурацией HTTP)” на стр. 251.
Copyright IBM Corp. 1997, 1999 259
Анализ неполадок, связанных с браузером Признак
Сбой Microsoft Internet Explorer в ходе сеанса, в котором применяются туннелиSSL.
Причина: Сервер в целевой системе не поддерживает защищенные соединения.Microsoft Internet Explorer не обрабатывает сообщения, поступающие от этогосервера.
Устранение: Для устранения этой неполадки необходимо установить обновлениеInternet Explorer, разработанное фирмой Microsoft. Для работы с туннелями SSLможно воспользоваться браузером Netscape Navigator 3.0 или 4.0.
Признак
Невозможно установить соединение с экземпляром защищенного сервераADMIN с помощью браузера Netscape Navigator версии 3.0.
Причина: Установить соединение с экземпляром сервера ADMIN с помощьюNetscape 3.0 невозможно в том случае, если в системе установлен продукт IBMCryptographic Access Provider 5769–AC3, а в файле конфигурации содержатсяследующие команды запуска экземпляра сервера ADMIN:
SSLMode On
SSLPort 2010
Устранение: Для устранения этой неполадки необходимо установить обновлениеNavigator 3.0, разработанное фирмой Netscape. Кроме того, вы можетевоспользоваться браузерами Netscape Navigator 4.0 или Microsoft Internet Explorer4.0.
Анализ неполадок сервера Признак
Сервер не запускается.
Причина: Возможно, в файле конфигурации указана директива SSLMode , но неуказана правильная директива KeyFile.
Устранение: Укажите в файле конфигурации правильную директиву KeyFile.
260 Руководство администратора IBM HTTP Server для AS/400 V4R4
Признак
Сервер не запускается.
Причина: Возможно, в файле конфигурации указана директива SSLMode, но неустановлен ни один из следующих трех продуктов семейства IBM CryptographicAccess Provider:
¹ 5769–AC1
¹ 5769–AC2
¹ 5769–AC3
Устранение: Установите один из продуктов IBM Cryptographic Access Provider.
Анализ неполадок, связанных с доступом к документам Признак
Ошибка 401
Нет прав доступа к документу
Причина: IBM HTTP Server обрабатывает запрос с применением конфигурациизащиты. Возможно, пользователь неправильно указал свой ИД или пароль, либо унего нет необходимых прав доступа.
Устранение: Введите правильный ИД и пароль или проверьте свои правадоступа.
Признак
Ошибка 403
Невозможно получить указанный файл
Причина: Попытка обращения к физическому файлу из библиотеки AS/400.
Устранение: С помощью команды WRKOBJ проверьте, указаны ли впользовательском профайле AS/400 права доступа *USE для этой библиотеки иэтого физического файла.
Причина: Попытка обращения к каталогу интегрированной файловой системы илик потоковому файлу.
Устранение: С помощью команды WRKAUT проверьте, указаны ли впользовательском профайле AS/400 права доступа *RX для этого каталога ифайла.
Приложение C. Анализ неполадок 261
Причина: Сервер не может считывать документы, хранящиеся в QDLS, даже еслив пользовательском профайле AS/400 указаны необходимые права доступа к ним.
Устранение: Для работы с QDLS необходимо зарегистрировать пользовательскийпрофайл AS/400 в системном каталоге рассылки. Это можно сделать с помощьюкоманды WRKDIRE. После регистрации пользовательскому профайлу будетразрешен доступ к папкам QDLS.
При обработке запросов к серверу AS/400 используются следующиепользовательские профайлы:
¹ QTMHHTTP, если в конфигурации сервера IBM HTTP Server отсутствуетдиректива UserID
¹ QTMHHTP1, если запрос представляет собой программу CGI и вконфигурации сервера IBM HTTP Server отсутствует директива UserID.
¹ Пользовательский профайл, указанный в директиве UserID. Более подробнаяинформация об организации доступа с помощью пользовательских профайловприведена в разделе “UserID – Глобальный идентификатор пользователя поумолчанию” на стр. 19.
Признак
Ошибка 403
Документ пропущен
Причина: Сервер IBM HTTP Server запускает программу CGI, указанную вдирективе Exec, Search или Post–Script. Эта программа записывает в заголовокответа HTTP следующий текст: “Location: request\n\n” . Для этого запроса вконфигурации сервера нет правила Pass, Exec или Redirect.
Устранение: Добавьте директиву Pass, Exec или Redirect для данных запроса,указываемых в поле "Location:" программы CGI.
Признак
Ошибка 403
Запрет – доступ к файлу запрещен [нет файла ACL]
Причина: Попытка обработать запрос, для которого применяется конфигурациязащиты с поддирективой ACLOverride.
Устранение: Проверьте наличие файла www_acl в каталоге интегрированнойфайловой системы.
262 Руководство администратора IBM HTTP Server для AS/400 V4R4
Признак
Ошибка 404
Не найден – файл не существует или защищен от записи [предпринятонесколько попыток]
Причина: Попытка обращения к несуществующему документу.
Устранение: Введите правильное имя документа и повторите запрос.
Признак
Ошибка 403
Запрещено правилами
Причина: Причина этой ошибки заключается в директивах конфигурации.
Устранение: Проверьте правильность директив Pass, Map и Fail. Например, длядоступа к файлу
/QSYS.LIB/HTML.LIB/TEST.FILE/TESTING.MBR
по URL необходимо указать директиву
Pass /QSYS.LIB/HTML.LIB/TEST.FILE/*
или
Pass /QSYS.LIB/HTML.LIB/*
Примечание: Поскольку в директиве Pass учитывается регистр символов, URLтакже должен быть задан с учетом регистра. Хороший способизбежать ненужных трудностей – задать два правила Pass: однодля символов верхнего регистра, а другое – для нижнего. Пример:
Pass /QSYS.LIB/HTML.LIB/*
Pass /qsys.lib/html.lib/*
Признак
Ошибка
Ошибка при обращении к документу (URLhttp://system.city.company.com/QSYS.LIB/QUSRSYS.LIB/filename.FILE).
Сервер недоступен или вам отказано в доступе к документу.
В тексте описания ошибки нет называния "IBM–AS/400." Отсутствует номерошибки (3xx, 4xx или 5xx) – это означает, что сообщение об ошибкепоступило не с сервера.
Приложение C. Анализ неполадок 263
Важная информация!
Это сообщение формируется браузером при попытке подключиться к хосту,указанному в URL.
Причина:
¹ Неполадка в сети, соединяющей AS/400 и браузер.
¹ Система AS/400 не работает.
Устранение: См. информацию об анализе неполадок в книге Справочник понастройке TCP/IP, SH45–5151.
Причина: Сервер не работает.
Устранение: Воспользуйтесь командой DSPMSG QSYSOPR для поиска ошибок вконфигурации сервера HTTP. Затем с помощью команды WRKHTTPCFGисправьте обнаруженные ошибки.
Признак
Ошибка
Для сервера нет записи DNS. Проверьте имя сервера, указанное в полеАдрес (URL), и повторите запрос.
В тексте описания ошибки нет названия "IBM–AS/400." Отсутствует номерошибки (3xx, 4xx или 5xx) – это означает, что сообщение об ошибкепоступило не с сервера.
Важная информация!
Это сообщение формируется браузером при попытке подключиться к хосту,указанному в URL.
Причина: Разные браузеры в этой ситуации выдают различные сообщения. Сутьошибки в том, что хост с указанным именем не существует или сервер имен неможет определить его адрес.
Устранение: Введите в поле URL правильное имя хоста или укажите вместоимени IP–адрес сервера.
Анализ неполадок CGIНеполадки могут возникать как при попытках обращения к программам CGI насервере, так и при работе с этими программами. Признаки неполадок могут бытьследующими:
264 Руководство администратора IBM HTTP Server для AS/400 V4R4
¹ Соединение разорвано, прервано, или же данные не переданы.
¹ Система не преобразует специальные символы или обрабатывает ихнеправильно.
¹ Ошибка 403: Запрещено – Недопустимый путь.
¹ Ошибка 500: Недопустимый запрос сценария – сценарий'/qsys.lib/qsyscgi.lib/progname.pgm' не найден или не является программой.
¹ Запрос браузера, запускающий программу CGI, занимает слишком многовремени. Браузер ожидает ответа.
Более подробную информацию об устранении подобных неполадок, а такжедополнительную информацию об анализе неполадок CGI вы можете найти в главе10, "Troubleshooting your CGI programs" книги IBM HTTP Server Web ProgrammingGuide, GC41–5435.
Коды состояния HTTPКоды состояния – это сообщения, которые сервер возвращает клиентам,запрашивающим информацию с сервера. Коды состояния – это встроеннаяфункция Протокола передачи гипертекстовой информации (HTTP). В этом разделеперечислены все коды состояния для HTTP версии 1.1. Эта версияподдерживается вашим сервером.
Полный стандарт HTTP версии 1.1 можно найти в Internet по следующему адресу:ftp://ftp.isi.edu/in–notes/rfc2068.txt. В этом документе приведено полное описаниекодов состояния. Если вам нужна более подробная информация о кодахсостояния HTTP, ознакомьтесь с этим документом.
Информационные коды 1xxЭтот класс кодов состояния предназначен для промежуточных ответов. Ответсостоит только из строки состояния и необязательных заголовков. В конце ответасервер добавляет пустую строку. В HTTP/1.0 (HTTP версии 1.0) коды состояния1xx не определены. Это значит, что сервер не всегда передает клиенту HTTP/1.0код состояния 1xx, за исключением экспериментальных ситуаций.
Информационные коды состояния 1xx:
¹ 100 Continue (Продолжать)
¹ 101 Switching Protocols (Смена протокола)
Коды успешного завершения 2xxЭтот класс кодов состояния предназначен для сообщения о том, что серверуспешно принял, распознал и начал обрабатывать запрос клиента.
Коды успешного завершения запроса 2xx:
¹ 200 OK
Приложение C. Анализ неполадок 265
¹ 201 Created (Ресурс создан)
¹ 202 Accepted (Запрос принят)
¹ 203 Non–Authoritative Information (Недостоверная информация)
¹ 204 No Content (Нет содержания)
¹ 205 Reset Content (Сброс содержания)
¹ 206 Partial Content (Неполное содержание)
Коды перенаправления 3xxЭти коды состояния указывают, что для выполнения запроса пользователя егобраузер должен предпринять дополнительные действия. Браузер пользователяможет выполнить действия, запрошенные сервером. Эти действия могут бытьвыполнены без вмешательства пользователя в том и только в том случае, если вповторном запросе будет применяться метод GET или HEAD. Браузерпользователя не должен автоматически перенаправлять запрос более пяти раз.Обычно такое количество перенаправлений означает зацикливание.
Коды перенаправления 3xx:
¹ 300 Multiple Choices (Выбор из нескольких вариантов)
¹ 301 Moved Permanently (Перемещен постоянно)
¹ 302 Moved Temporarily (Перемещен временно)
¹ 303 See Other (См. другой)
¹ 304 Not Modified (Не изменен)
¹ 305 Use Proxy (Используйте Proxy)
Коды ошибок клиента 4xxКоды состояния класса 4xx сигнализируют об ошибках клиента. Если серверотвечает на запрос, отличный от HEAD, то кроме кода состояния передается иследующая информация:
¹ Информация о характере ошибки
¹ Анализ того, является ли это состояние временным или постоянным
Эти коды состояния могут применяться для любых методов. Браузер пользователядолжен показать полученную от сервера информацию на экране.
Коды ошибок клиента 4xx:
¹ 400 Bad request (Неправильный запрос)
¹ 401 Unauthorized (Нет прав доступа)
¹ 402 Payment Required (Платная услуга)
¹ 403 Forbidden (Запрещено)
¹ 404 Not Found (Не найден)
266 Руководство администратора IBM HTTP Server для AS/400 V4R4
¹ 405 Method Not Allowed (Недопустимый метод)
¹ 406 Not Acceptable (Недоступен)
¹ 407 Proxy Authentication Required (Необходима идентификация Proxy)
¹ 408 Request Timeout (Тайм–аут запроса)
¹ 409 Conflict (Конфликт)
¹ 410 Gone (Ресурс удален)
¹ 411 Length Required (Не задана длина)
¹ 412 Precondition Failed (Предварительное условие не выполнено)
¹ 413 Request Entity Too Large (Слишком длинный запрос)
¹ 414 Request–URI Too Long (Слишком длинный URI)
¹ 415 Unsupported Media Type (Формат не поддерживается)
Ошибки сервера 5xxКоды состояния 5xx сообщают об ошибках сервера или о том, что сервер неможет обработать запрос. Если сервер отвечает на запрос, отличный от HEAD, токроме кода состояния передается и следующая информация:
¹ Информация о характере ошибки
¹ Анализ того, является ли это состояние временным или постоянным
Эти коды состояния могут применяться для любых методов. Браузер пользователядолжен показать полученную от сервера информацию на экране.
Коды ошибок сервера 5xx:
¹ 500 Internal Server Error (Внутренняя ошибка сервера)
¹ 501 Not Implemented (Не поддерживается)
¹ 502 Bad Gateway (Неправильный шлюз)
¹ 503 Service Unavailable (Служба недоступна)
¹ 504 Gateway Timeout (Тайм–аут шлюза)
¹ 505 HTTP Version Not Supported (Версия HTTP не поддерживается)
Приложение C. Анализ неполадок 267
268 Руководство администратора IBM HTTP Server для AS/400 V4R4
Индекс
AAccessLog, директива 67AccessLogArchive, директива 69AccessLogExcludeMethod, директива 70AccessLogExcludeMIMEType, директива 71AccessLogExcludeReturnCode, директива 72AccessLogExcludeURL, директива 73AccessLogExcludeUserAgent, директива 73AccessLogExpire, директива 74AccessReportDescription, поддиректива 95AccessReportDoDNSLookup, директива 94AccessReportExcludeHostName, поддиректива 95AccessReportExcludeMethod, поддиректива 95AccessReportExcludeReturnCode, поддиректива 95AccessReportExcludeURL, поддиректива 96AccessReportIncludeHostName, директива 96AccessReportIncludeURL, директива 96AccessReportTemplate, директива 94AccessReportTopList, поддиректива 97AddBlankIcon, директива 35AddClient, директива 51, 52AddDirIcon, директива 36AddEncoding, директива 53AddIcon, директива 37AddLanguage, директива 54AddParentIcon, директива 38AddType, директива 55
расширения файлов по умолчанию 56AddUnknownIcon, директива 38AgentLog, директива 75AlwaysWelcome, директива 29AS/400
поддержка цифровой идентификации 217
Bbadrange, код ошибки 47badredirect, код ошибки 45badrequest, код ошибки 44badscript, код ошибки 44baduser, код ошибки 45BindSpecific, директива 16byrule, код ошибки 45
CCacheAccessLog, директива 77CacheTimeout, поддиректива 62CGIConvMode, директива 21CGIErrorLog, директива 79ClientAuthType, поддиректива 63connectfail, код ошибки 44
DDate, поддиректива 87DefaultFsCCSID, директива 23DefaultNetCCSID, директива 23DirAccess, директива 30dirbrowse, код ошибки 45DirExcludeMulti, директива 50DirReadme, директива 40DirShowBytes, директива 32DirShowCase, директива 33DirShowDate, директива 33DirShowDescription, директива 33DirShowIcons, директива 39DirShowMaxDescrLength, директива 34DirShowMaxLength, директива 34DirShowMinLength, директива 34DirShowOwner, директива 35DirShowSize, директива 35DisInheritEnv, директива 26DNS–Lookup, директива 16dotdot, код ошибки 45
EEndDate, поддиректива 87ErrorLog, директива 81ErrorLogArchive, директива 83ErrorLogExpire, директива 84ErrorLogSizeLimit, директива 85ErrorPage, директива 42ExtendedLogFormat, директива 85ExtendedLogFormat, поддирективы 86
Copyright IBM Corp. 1997, 1999 269
FField, поддиректива 87finger 188
GGroupMemberAttrs, поддиректива 65GroupNameFilter, поддиректива 65GroupSearchBase, поддиректива 65
HHost, поддиректива 60HostName, директива 17
IIBM HTTP Server
анализ неполадок 259коды состояния HTTP 265, 266, 267неполадки CGI 264неполадки, связанные с доступом к
документам 261файл конфигурации 259
директивысписок всех директив 4
занесение в протокол 177глобальные значения параметров 179директивы 179, 180, 182, 183, 184максимальный размер 180настройка 179настройка протоколов 178общий формат файла 179пример сценария настройки файлов
протоколов 183протокол браузеров 178протокол доступа 178протокол доступа к Proxy 179протокол доступа к кэшу 179протокол ошибок 178протокол ошибок CGI 178протокол ссылок 178сбор информации о клиентах, обращающихся к
определенному Web–сайту 181сбор информации только о запросах,
поступающих из внешней сети 181указание опций для протоколов доступа,
браузеров и ссылок 180указание опций протоколов ошибок 183указание пути к протоколам ошибок и
протоколам ошибок CGI 183
IBM HTTP Server (продолжение)занесение в протокол (продолжение)
указание пути к протоколу доступа к кэшусервера Proxy 184
уменьшение размера протоколов 181установка фильтров для протоколов 181, 182форма Глобальная конфигурация файла
протокола 179формы 183
защита 187, 188, 213SSL 223активация защиты 192выбор типа защиты 193директива Fail 191Диспетчер цифровых сертификатов (DCM) 218защита с помощью идентификации по имени
пользователя и паролю 194защита с помощью шаблона адреса 195идентификация 216идентификация клиентов SSL 194идентификация конфигурации защиты для
клиентов 198конфиденциальность 214личный ключ 215надежный базовый сертификат 217настройка защиты от атак 206несимметричные ключи 215о ней 213обработка запроса на сервере 195общий ключ 215ограничение доступа к конкретным
файлам 205описание 213описатель сообщения 215отличительное имя 216отчетность 214пара ключей 215поддержка только операций чтения 190подлинность 214порядок применения правил 190правило отказа по умолчанию 189применение директив 189применение протокола SSL для защиты 223пример защиты 210принципы 213работа с файлами групп сервера 207работа с файлами списков управления
доступом (ACL) 208разрешение запуска только программ
CGI 190рекомендации по настройке идентификации
клиентов SSL в ACL 209
270 Руководство администратора IBM HTTP Server для AS/400 V4R4
IBM HTTP Server (продолжение)защита (продолжение)
рекомендации по настройке идентификацииклиентов SSL в конфигурации защиты 205
сертификатная компания 216симметричные ключи 215создание конфигураций защиты 197создание конфигураций защиты для
идентификации клиентов SSL 203ссылка на файл групп сервера 200указание допустимых имен пользователей,
групп и адресов 200, 201указание контрольного списка 199указание типа идентификации 199учет регистра символов в директивах
преобразования 191фильтрация запросов 193хэш 215целостность 214цифровая подпись 214, 215, 216цифровой сертификат 216что это такое? 213шифрование 214явное разрешение программ CGI 190
идентификация клиентов по протоколу SSL 227поддержка цифровой идентификации в
AS/400 217резервное копирование и восстановление 15список всех директив 4
IconPath, директива 39IdleConnTimeout, поддиректива 61imbeds, директива 17InheritEnv, директива 27ipmask, код ошибки 45ipmaskproxy, код ошибки 46
JJavaClassPath, директива 24
LLDAPInclude, директива 65LDAPInfo, директива 59LDAPInfo, поддирективы 60LogFormat, директива 88LogTime, директива 90
MMaxContentLengthBuffer, директива 25MaxPersistentCGI, директива 28MaxPersistentCGITimeout, директива 28methoddisabled, код ошибки 46multifail, код ошибки 47MultiFormatProcessing, директива 49
Nnoacl, код ошибки 46noentry, код ошибки 46noformat, код ошибки 48NoLog, директива 91nopartner, код ошибки 44notallowed, код ошибки 46notauthorized, код ошибки 44notmember, код ошибки 44
Ookredirect, код ошибки 44openfailed, код ошибки 46
PPersistentCGITimeout, директива 28PICS 169Port, директива 19Port, поддиректива 61preconfail, код ошибки 47proxyfail, код ошибки 44proxynotauth, код ошибки 47proxynotmember, код ошибки 47proxypwchanged, код ошибки 47proxypwexpired, код ошибки 47pwchangedr, код ошибки 45pwexpired, код ошибки 45
RRefererLog, директива 91Remark, поддиректива 88ReportDataSizeLimit, директива 98ReportProcessOldLogs, директива 97rlogin 188
Индекс 271
Sscriptio, код ошибки 48scriptnotfoun, код ошибки 48scriptstart, код ошибки 48SearchTimeout, поддиректива 62ServAuthType, поддиректива 62ServerDN, поддиректива 63ServerPasswordStashFile, поддиректива 63setuperror, код ошибки 46setupsurrogate, код ошибки 48SNMP
директивы 160Software, директива 88SSL
заполните форму настройки защиты 228настройка защиты 228отправьте ваш запрос 229
идентификация клиентов 194, 227настройка 228настройка в конфигурации защиты и файлах
ACL 229переменные среды CGI 230применение на сервере 230применение протокола SSL для защиты 223присвойте сертификаты вашему серверу
отправьте ваш запрос 229рекомендации 205, 209создание конфигураций защиты 203что это такое? 223
StartDate, поддиректива 88SuffixCaseSense, директива 58systemerror, код ошибки 48
TTelnet 188Transport, поддиректива 60
Uunknownmethod, код ошибки 44UserDir, директива 41UserID, директива 19UserNameFieldSep, поддиректива 64UserNameFilter, поддиректива 64UserSearchBase, поддиректива 64
WWaitToRetryConnTime, поддиректива 61Welcome, директива 30
Аавтоматическое определения типа браузера 51
выбор начальной страницы 52активация защиты 192анализ неполадок 259
коды состояния HTTP 265, 266, 267неполадки CGI 264неполадки, связанные с доступом к
документам 261файл конфигурации 259
Ббазовая конфигурация
BindSpecific, директива 16DNS–Lookup, директива 16HostName, директива 17imbeds, директива 17Port, директива 19UserID, директива 19директивы 16
брандмауэр 188
Введение протоколов
AccessLog, директива 67AccessLogArchive, директива 69AccessLogExcludeMethod, директива 70AccessLogExcludeMIMEType, директива 71AccessLogExcludeReturnCode, директива 72AccessLogExcludeURL, директива 73AccessLogExcludeUserAgent, директива 73AccessLogExpire, директива 74AgentLog, директива 75CacheAccessLog, директива 77CGIErrorLog, директива 79ErrorLog, директива 81ErrorLogArchive, директива 83ErrorLogExpire, директива 84ErrorLogSizeLimit, директива 85ExtendedLogFormat, директива 85ExtendedLogFormat, поддирективы
Date 87EndDate 87
272 Руководство администратора IBM HTTP Server для AS/400 V4R4
ведение протоколов (продолжение)ExtendedLogFormat, поддирективы (продолжение)
Field 87Remark 88Software 88StartDate 88
LogFormat, директива 88LogTime, директива 90NoLog, директива 91RefererLog, директива 91директивы 66
выбор формата MIME 49
Ддиректива Authentication 137директива Authorization 138директива CacheClean 122директива CacheDefaultExpiry 123директива CacheExpiryCheck 123директива CacheLastModifiedFactor 124директива CacheLimit_1 124директива CacheLimit_2 125директива CacheLocalFile 164директива CacheLocalMaxBytes 164директива CacheLocalMaxFiles 165директива CacheLockTimeOut 125директива CacheNoConnect 126директива CacheOnly 126директива CacheRoot 126директива CacheSize 127директива CacheTimeMargin 127директива CacheUnused 128директива Caching 128директива DataFilter 139директива DefineLBService 171директива DefineService 171директива DenialOfServicePenalty 173директива DenialOfServiceThreshold 174директива DenialOfServiceTrusted 175директива Disable 146директива DoReporting 100директива DoWebUsageMining 100директива DynamicCache 165директива Enable 147директива Error 139директива Exec 148
Exec 193директива Fail 150
директива ftp_proxy 128директива Gc 129директива GcDailyGc 129директива GcMemUsage 130директива gopher_proxy 130директива http_proxy 131директива InputTimeout 166директива LabelsFor 170директива LiveLocalCache 166директива Log 140директива Map 151директива MaxActiveThreads 166директива MaxPersistRequest 167директива MetaDir 102директива MetaSuffix 103директива MinActiveThreads 167директива NameTrans 152директива no_proxy 131директива NoCaching 132директива NormalMode 158директива ObjectType 141директива OutputTimeout 168директива Pass 153
Pass 193директива PersistTimeout 168директива PICSDBLookup 142директива PostExit 143директива PreExit 143директива Protect 104, 192директива Protection 108директива Proxy 132директива ProxyAccessLog 133директива Redirect 155директива ReportDataArchive 98директива ReportDataExpire 99директива ScriptTimeout 169директива ServerInit 144директива ServerTerm 144директива Service 157директива SNMP 161директива SNMPCommunityName 161директива SocksServer 135директива SSLClientAuth 159директива SSLMode 159директива SSLPort 160директива UseACLs 169директива UseMetaFiles 103директива WebMasterEmail 162директивы
AccessLog 67
Индекс 273
директивы (продолжение)AccessLogArchive 69AccessLogExcludeMethod 70AccessLogExcludeMIMEType 71AccessLogExcludeReturnCode 72AccessLogExcludeURL 73AccessLogExcludeUserAgent 73AccessLogExpire 74AccessReportDescription, поддиректива 95AccessReportDoDNSLookup 94AccessReportExcludeHostName, поддиректива 95AccessReportExcludeMethod, поддиректива 95AccessReportExcludeReturnCode,
поддиректива 95AccessReportExcludeURL, поддиректива 96AccessReportIncludeHostName, директива 96AccessReportIncludeURL, директива 96AccessReportTemplate 94AccessReportTopList, поддиректива 97AddBlankIcon 35AddClient 51, 52AddDirIcon 36AddEncoding 53AddIcon 37AddLanguage 54AddParentIcon 38AddType 55
расширения файлов по умолчанию 56AddUnknownIcon 38AgentLog 75AlwaysWelcome 29Authentication 137Authorization 138BindSpecific 16CacheAccessLog 77CacheClean 122CacheDefaultExpiry 123CacheExpiryCheck 123CacheLastModifiedFactor 124CacheLimit_1 124CacheLimit_2 125CacheLocalFile 164CacheLocalMaxBytes 164CacheLocalMaxFiles 165CacheLockTimeOut 125CacheNoConnect 126CacheOnly 126CacheRoot 126CacheSize 127CacheTimeMargin 127
директивы (продолжение)CacheUnused 128Caching 128CGIConvMode 21CGIErrorLog 79DataFilter 139DefaultFsCCSID 23DefaultNetCCSID 23DefineLBService 171DefineService 171DenialOfServicePenalty 173DenialOfServiceThreshold 174DenialOfServiceTrusted 175DirAccess 30DirExcludeMulti 50DirReadme 40DirShowBytes 32DirShowCase 33DirShowDate 33DirShowDescription 33DirShowIcons 39DirShowMaxDescrLength 34DirShowMaxLength 34DirShowMinLength 34DirShowOwner 35DirShowSize 35Disable 146DisInheritEnv 26DNS–Lookup 16DynamicCache 165Enable 147Error 139ErrorLog 81ErrorLogArchive 83ErrorLogExpire 84ErrorLogSizeLimit 85ErrorPage 42Exec 148ExtendedLogFormat 85ExtendedLogFormat, поддирективы 86
Date 87EndDate 87Field 87Remark 88Software 88StartDate 88
Fail 150ftp_proxy 128Gc 129GcDailyGc 129
274 Руководство администратора IBM HTTP Server для AS/400 V4R4
директивы (продолжение)GcMemUsage 130gopher_proxy 130HostName 17http_proxy 131IconPath 39imbeds 17InheritEnv 27InputTimeout 166JavaClassPath 24LabelsFor 170LDAPInclude 65LDAPInfo 59LDAPInfo, поддирективы 60
CacheTimeout 62ClientAuthType 63GroupMemberAttrs 65GroupNameFilter 65GroupSearchBase 65Host 60IdleConnTimeout 61Port 61SearchTimeout 62ServAuthType 62ServerDN 63ServerPasswordStashFile 63Transport 60UserNameFieldSep 64UserNameFilter 64UserSearchBase 64WaitToRetryConnTime 61
LiveLocalCache 166Log 140LogFormat 88LogTime 90Map 151MaxActiveThreads 166MaxContentLengthBuffer 25MaxPersistentCGI 28MaxPersistentCGITimeout 28MaxPersistRequest 167MetaDir 102MetaSuffix 103MinActiveThreads 167MultiFormatProcessing 49NameTrans 152no_proxy 131NoCaching 132NoLog 91NormalMode 158
директивы (продолжение)ObjectType 141OutputTimeout 168Pass 153PersistentCGITimeout 28PersistTimeout 168PICSDBLookup 142Port 19PostExit 143PreExit 143Protect 104Protection 108Proxy 132ProxyAccessLog 133Redirect 155RefererLog 91ReportDataSizeLimit, директива 98ReportProcessOldLogs, директива 97ScriptTimeout 169ServerID 198ServerInit 144ServerTerm 144Service 157SNMP 160, 161SNMPCommunityName 161SocksServer 135SSLClientAuth 159SSLMode 159SSLPort 160SuffixCaseSense 58UseACLs 169UseMetaFiles 103UserDir 41UserID 19WebMasterEmail 162Welcome 30базовые 16ведение протоколов 66директива DoReporting 100директива DoWebUsageMining 100директива ReportDataArchive 98директива ReportDataExpire 99занесение в протокол и создание отчетов 179,
180, 182, 183, 184защита, применение 189значки содержимого каталогов 35конфигурация защиты от атак, приводящих к
отказу в обслуживании 172маршрутизация запросов 147мета–информация 101
Индекс 275
директивы (продолжение)методы 145настройка защиты 158настройка сообщений об ошибках 42начальные страницы 29обзор 13определение 3отрицательные ответы 14оценки для web–сайта 169параметры CGI 20параметры proxy 122переменные среды 26поддирективы Protection 109
ACLOverride 109AuthType 109CommonName 111Country 112DeleteMask 112GetMask 112GroupFile 113IssuerCommonName 113IssuerCountry 114IssuerLocality 114IssuerOrganization 115IssuerOrgUnit 115IssuerStateOrProvince 116Locality 116Mask 117Organization 117OrgUnit 118PasswdFile 118PostMask 119PutMask 119SerialNum 119ServerID 120StateOrProvince 120UserID 121
положительные ответы 14пользовательские каталоги 41постоянный CGI 27правила преобразования
учет регистра символов 191применение 3Работа приложений с API сервера 135Серверы LDAP 59сервлеты Java 49создание отчетов 93списки содержимого каталогов 32список всех директив 4указание времени 14
директивы (продолжение)управление доступом 104управление системой 162Файлы README 40языки и кодировки 49
директивы PICSDefineLBService 171DefineService 171LabelsFor 170
директивы преобразованияучет регистра символов 191
директивы, сервердирективы преобразования, учет регистра
символов 191Диспетчер цифровых сертификатов (DCM)
введение 218запуск 220защита 218настройка системы для работы с цифровыми
сертификатами 222о программе 218управление ключами, сертификатами и
надежными базовыми сертификатами 218, 220допустимые имена пользователей, группы и адреса
указание 200
Ззанесение в протокол
Глобальная конфигурация файла протокола 179глобальные значения параметров 179директивы 179, 180, 182, 183, 184максимальный размер 180настройка 178, 179о нем 177общий формат протокола, документация 177общий формат файла 179пример сценария настройки файлов
протоколов 183протокол браузеров 178протокол доступа 178протокол доступа к Proxy 179протокол доступа к кэшу 179протокол ошибок 178протокол ошибок CGI 178протокол ссылок 178
о нем 178расширенный формат протокола,
документация 177сбор информации о запросах, поступающих из
внешней сети 181
276 Руководство администратора IBM HTTP Server для AS/400 V4R4
занесение в протокол (продолжение)сбор информации о клиентах, обращающихся к
определенному Web–сайту 181типы протоколов 177указание опций
протокол браузеров 180протокол доступа 180протокол ошибок 183протокол ссылок 180путь к протоколу браузеров 180путь к протоколу доступа 180путь к протоколу ошибок 183путь к протоколу ошибок CGI 183путь к протоколу ссылок 180фильтры для протокола браузеров 181фильтры для протокола браузеров,
применяемые по умолчанию 182фильтры для протокола доступа 181фильтры для протокола доступа, применяемые
по умолчанию 182фильтры для протокола ссылок 181фильтры для протокола ссылок, применяемые
по умолчанию 182указание пути к протоколу доступа к кэшу
сервера Proxy 184уменьшение размера протоколов 181формы 183
запускДиспетчер цифровых сертификатов (DCM)
запуск 220защита
SSL 223активация защиты 192брандмауэр 188выбор типа защиты 193Диспетчер цифровых сертификатов (DCM) 218заполните форму настройки защиты 228
настройка защиты 228отправьте ваш запрос 229
защита с помощью идентификации по именипользователя и паролю 194
защита с помощью шаблона адреса 195защита сервера 187, 188защита соединений 213идентификация 216идентификация клиентов SSL 194идентификация клиентов по протоколу SSL 227идентификация конфигурации защиты для
клиентов 198ключ 214
защита (продолжение)конфиденциальность 214личный ключ 215надежный базовый сертификат 217настройка SSL в конфигурации защиты и файлах
ACL 229настройка защиты от атак 206несимметричные ключи 215о ней 213обработка запроса на сервере 195общий ключ 215ограничение доступа к конкретным файлам 205описание 213описатель сообщения 215отключение
finger 188rlogin 188Telnet 188
отличительное имя 216отчетность 214пара ключей 215поддержка цифровой идентификации в
AS/400 217подлинность 214применение SSL на сервере 230применение директив 189применение директив защиты и управления
доступом 189директива Fail 191поддержка только операций чтения 190порядок применения правил 190правило отказа по умолчанию 189разрешение запуска только программ
CGI 190учет регистра символов в директивах
преобразования 191явное разрешение программ CGI 190
применение протокола SSL для защиты 223пример защиты 210принципы 213присвойте сертификаты вашему серверу
отправьте ваш запрос 229работа с файлами групп сервера 207работа с файлами списков управления доступом
(ACL) 208рекомендации по настройке идентификации
клиентов SSL в ACL 209рекомендации по настройке идентификации
клиентов SSL в конфигурации защиты 205сертификатная компания 216
Индекс 277
защита (продолжение)симметричные ключи 215создание конфигураций защиты 197создание конфигураций защиты для
идентификации клиентов SSL 203ссылка на файл групп сервера 200сценарии CGI 188указание допустимых имен пользователей, групп и
адресов 200, 201указание контрольного списка 199указание типа идентификации 199фильтрация запросов 193фильтрация пакетов 188хэш 215целостность 214цифровая подпись 216цифровая подпись (идентификационный код) 215цифровой сертификат 216что это такое? 213шифрование 214
защита с помощью идентификации 194защита с помощью идентификации по имени
пользователя и паролю 194защита с помощью идентификации
пользователя 194защита с помощью шаблона адреса 195защита сервера 187, 188
брандмауэр 188отключение
finger 188rlogin 188Telnet 188
применение директив 189сценарии CGI 188фильтрация пакетов 188
защита, тип 193значки содержимого каталогов
AddBlankIcon, директива 35AddDirIcon, директива 36AddIcon, директива 37AddParentIcon, директива 38AddUnknownIcon, директива 38DirShowIcons, директива 39IconPath, директива 39директивы 35
Иидентификация 214
указание 199
идентификация (продолжение)что это такое? 216
идентификация клиентовSSL 227
идентификация клиентов SSL 194идентификация конфигурации для клиентов 198
Кклиент
идентификация клиентов по протоколу SSL 227ключ 214
Диспетчер цифровых сертификатов (DCM) 218запуск 220настройка системы для работы с цифровыми
сертификатами 222коды состояния HTTP
информационные 1xx 265коды перенаправления 3xx 266коды успешного завершения 2xx 265ошибки клиента 4xx 266ошибки сервера 5xx 267
команда CFGTCPHTTP 233параметры 234синтаксис 233
команда CHGHTTPA 234ограничения 234параметры 234примеры 238синтаксис 234
команда ENDTCPSVR 239меню команды 241параметры 239примеры 241синтаксис 239
команда STRTCPSVR 244меню команды 249параметры 244примеры 248синтаксис 244
команда WRKHTTPCFG 251ограничения 252параметры 252применение для редактирования файла
конфигурации 251примеры 252синтаксис 252
команды 233CFGTCPHTTP 233
параметры 234синтаксис 233
278 Руководство администратора IBM HTTP Server для AS/400 V4R4
команды (продолжение)CHGHTTPA 234CHGHTTPAP
ограничения 234параметры 234примеры 238синтаксис 234
ENDTCPSVR 239меню команды 241параметры 239примеры 241синтаксис 239
STRTCPSVR 244меню команды 249параметры 244примеры 248синтаксис 244
WRKHTTPCFG 251ограничения 252параметры 252применение для редактирования файла
конфигурации 251примеры 252синтаксис 252
команды AS/400 233конкретные файлы
ограничение доступа 205конфигурация защиты от атак, приводящих к отказу в
обслуживанииDenialOfServicePenalty 173DenialOfServiceThreshold 174DenialOfServiceTrusted 175директивы 172
конфигурация сервераSNMP 160базовая 16ведение протоколов 66директивы 3
AccessLog 67AccessLogArchive 69AccessLogExcludeMethod 70AccessLogExcludeMIMEType 71AccessLogExcludeReturnCode 72AccessLogExcludeURL 73AccessLogExcludeUserAgent 73AccessLogExpire 74AccessReportDescription, поддиректива 95AccessReportDoDNSLookup 94AccessReportExcludeHostName,
поддиректива 95AccessReportExcludeMethod, поддиректива 95
конфигурация сервера (продолжение)директивы (продолжение)
AccessReportExcludeReturnCode,поддиректива 95
AccessReportExcludeURL, поддиректива 96AccessReportIncludeHostName, директива 96AccessReportIncludeURL, директива 96AccessReportTemplate 94AccessReportTopList, поддиректива 97AddBlankIcon 35AddClient 51, 52AddDirIcon 36AddEncoding 53AddIcon 37AddLanguage 54AddParentIcon 38AddType 55, 56AddUnknownIcon 38AgentLog 75AlwaysWelcome 29Authentication 137Authorization 138BindSpecific 16CacheAccessLog 77CacheClean 122CacheDefaultExpiry 123CacheExpiryCheck 123CacheLastModifiedFactor 124CacheLimit_1 124CacheLimit_2 125CacheLocalFile 164CacheLocalMaxBytes 164CacheLocalMaxFiles 165CacheLockTimeOut 125CacheNoConnect 126CacheOnly 126CacheRoot 126CacheSize 127CacheTimeMargin 127CacheUnused 128Caching 128CGIConvMode 21CGIErrorLog 79DataFilter 139DefaultFsCCSID 23DefaultNetCCSID 23DefineLBService 171DefineService 171DenialOfServicePenalty 173DenialOfServiceThreshold 174DenialOfServiceTrusted 175
Индекс 279
конфигурация сервера (продолжение)директивы (продолжение)
DirAccess 30DirExcludeMulti 50DirReadme 40DirShowBytes 32DirShowCase 33DirShowDate 33DirShowDescription 33DirShowIcons 39DirShowMaxDescrLength 34DirShowMaxLength 34DirShowMinLength 34DirShowOwner 35DirShowSize 35Disable 146DisInheritEnv 26DNS–Lookup 16DoReporting 100DoWebUsageMining 100DynamicCache 165Enable 147Error 139ErrorLog 81ErrorLogArchive 83ErrorLogExpire 84ErrorLogSizeLimit 85ErrorPage 42Exec 148ExtendedLogFormat 85ExtendedLogFormat, поддирективы 86Fail 150ftp_proxy 128Gc 129GcDailyGc 129GcMemUsage 130gopher_proxy 130HostName 17http_proxy 131IconPath 39imbeds 17InheritEnv 27InputTimeout 166JavaClassPath 24LabelsFor 170LDAPInclude 65LDAPInfo 59LDAPInfo, поддирективы 60LiveLocalCache 166Log 140LogFormat 88
конфигурация сервера (продолжение)директивы (продолжение)
LogTime 90Map 151MaxActiveThreads 166MaxContentLengthBuffer 25MaxPersistentCGI 28MaxPersistentCGITimeout 28MaxPersistRequest 167MetaDir 102MetaSuffix 103MinActiveThreads 167MultiFormatProcessing 49NameTrans 152no_proxy 131NoCaching 132NoLog 91NormalMode 158ObjectType 141OutputTimeout 168Pass 153PersistentCGITimeout 28PersistTimeout 168PICSDBLookup 142Port 19PostExit 143PreExit 143Protect 104Protection 108Proxy 132ProxyAccessLog 133Redirect 155RefererLog 91ReportDataArchive 98ReportDataExpire 99ReportDataSizeLimit 98ReportProcessOldLogs, директива 97ScriptTimeout 169ServerInit 144ServerTerm 144Service 157SNMP 161SNMPCommunityName 161SocksServer 135SSL_ClientAuth 120SSLClientAuth 159SSLMode 159SSLPort 160SuffixCaseSense 58UseACLs 169UseMetaFiles 103
280 Руководство администратора IBM HTTP Server для AS/400 V4R4
конфигурация сервера (продолжение)директивы (продолжение)
UserDir 41UserID 19WebMasterEmail 162Welcome 30поддирективы Protection 109
значки содержимого каталогов 35конфигурация защиты от атак, приводящих к
отказу в обслуживании 172маршрутизация запросов 147мета–информация 101методы 145настройка защиты 158настройка сообщений об ошибках 42начальные страницы 29обзор директив 13определение директив 3отрицательные ответы 14оценки для web–сайта 169параметры CGI 20параметры proxy 122переменные среды 26положительные ответы 14пользовательские каталоги 41постоянный CGI 27Работа приложений с API сервера 135Серверы LDAP 59сервлеты Java 49создание отчетов 93списки содержимого каталогов 32список всех директив 4указание времени 14управление доступом 104управление системой 162Файлы README 40языки и кодировки 49
конфиденциальность 214
Лличный ключ 215
Ммаршрутизация запросов
директива Exec 148директива Fail 150директива Map 151директива NameTrans 152
маршрутизация запросов (продолжение)директива Pass 153директива Redirect 155директива Service 157директивы 147
мета–информациядиректива MetaDir 102директива MetaSuffix 103директива UseMetaFiles 103директивы 101
методыдиректива Disable 146директива Enable 147директивы 145
Ннадежный базовый сертификат 217
Диспетчер цифровых сертификатов (DCM) 218запуск 220
настройка защитыдиректива NormalMode 158директива SSLClientAuth 159директива SSLMode 159директива SSLPort 160директивы 158
настройка протоколов 177настройка протоколов, хранящихся на вашем
сервере 178настройка сервера
SNMP 160базовая 16ведение протоколов 66директивы 3значки содержимого каталогов 35конфигурация защиты от атак, приводящих к
отказу в обслуживании 172маршрутизация запросов 147мета–информация 101методы 145настройка сообщений об ошибках 42начальные страницы 29обзор директив 13определение директив 3отрицательные ответы 14оценки для web–сайта 169параметры CGI 20параметры proxy 122переменные среды 26положительные ответы 14
Индекс 281
настройка сервера (продолжение)пользовательские каталоги 41постоянный CGI 27Работа приложений с API сервера 135Серверы LDAP 59сервлеты Java 49создание отчетов 93списки содержимого каталогов 32список всех директив 4указание времени 14управление доступом 104управление системой 162Файлы README 40языки и кодировки 49
настройка системы для работы с цифровымисертификатами 222
настройка сообщений об ошибкахErrorPage, директива 42директивы 42причины и сообщения об ошибках 43сообщения об ошибках по умолчанию 43
badrange 47badredirect 45badrequest 44badscript 44baduser 45byrule 45connectfail 44dirbrowse 45dotdot 45ipmask 45ipmaskproxy 46methoddisabled 46multifail 47noacl 46noentry 46noformat 48nopartner 44notallowed 46notauthorized 44notmember 44okredirect 44openfailed 46preconfail 47proxyfail 44proxynotauth 47proxynotmember 47proxypwchanged 47proxypwexpired 47pwchanged 45pwexpired 45
настройка сообщений об ошибках (продолжение)сообщения об ошибках по умолчанию
(продолжение)scriptio 48scriptnotfoun 48scriptstart 48setuperror 46setupsurrogate 48systemerror 48unknownmethod 44
начальные страницыAlwaysWelcome, директива 29DirAccess, директива 30Welcome, директива 30директивы 29
несимметричные ключи 215
Ообзор директив 13обработка запроса, сервер 195обработка карт изображений с помощью программы
HTImage 253примеры 255синтаксис 255требования 254
обращение к карте изображенийобработка карт изображений с помощью
программы HTImage 253примеры 255синтаксис 255требования 254
общий ключ 215общий формат протокола, документация 177общий формат файла протокола 179описатель сообщения 215отказ в обслуживании
настройка защиты 206отключение
finger 188rlogin 188Telnet 188
отрицательные ответы 14отчетность 214оценки для web–сайта
директивы 169DefineLBService 171DefineService 171LabelsFor 170
282 Руководство администратора IBM HTTP Server для AS/400 V4R4
Ппара ключей 215параметры CGI
CGIConvMode, директива 21DefaultFsCCSID, директива 23DefaultNetCCSID, директива 23JavaClassPath, директива 24MaxContentLengthBuffer, директива 25директивы 20
параметры proxyдиректива CacheClean 122директива CacheDefaultExpiry 123директива CacheExpiryCheck 123директива CacheLastModifiedFactor 124директива CacheLimit_1 124директива CacheLimit_2 125директива CacheLockTimeOut 125директива CacheNoConnect 126директива CacheOnly 126директива CacheRoot 126директива CacheSize 127директива CacheTimeMargin 127директива CacheUnused 128директива Caching 128директива DynamicCache 165директива ftp_proxy 128директива Gc 129директива GcDailyGc 129директива GcMemUsage 130директива gopher_proxy 130директива http_proxy 131директива no_proxy 131директива NoCaching 132директива Proxy 132директива ProxyAccessLog 133директива SocksServer 135директивы 122
переменные средыDisInheritEnv, директива 26InheritEnv, директива 27директивы 26
переменные среды CGISSL 230
поддиректива ACLOverride 109, 205поддиректива AuthType 109поддиректива CommonName 111поддиректива Country 112поддиректива DeleteMask 112поддиректива GetMask 112, 201
поддиректива GroupFile 113поддиректива IssuerCommonName 113поддиректива IssuerCountry 114поддиректива IssuerLocality 114поддиректива IssuerStateOrProvince 116поддиректива Locality 116поддиректива Mask 117, 201поддиректива Organization 117поддиректива OrgUnit 118поддиректива PasswdFile 118
указание контрольного спискаPasswdFile 199
поддиректива PostMask 119, 201поддиректива PutMask 119поддиректива SerialNum 119поддиректива ServerID 120, 198поддиректива SSL_ClientAuth 120поддиректива StateOrProvince 120поддиректива UserID 121поддирективы
SSL_ClientAuth 120поддирективы IssuerOrganization 115поддирективы IssuerOrgUnit 115поддирективы Protection 109подлинность 214положительные ответы 14пользовательские каталоги
UserDir, директива 41директивы 41
постоянный CGIMaxPersistentCGI, директива 28MaxPersistentCGITimeout, директива 28PersistentCGITimeout, директива 28директивы 27
правила указания имен пользователей, групп иадресов 202
правила указания имен пользователей, групп ишаблонов адресов 201
правило отказа по умолчаниюсервер 189
применение протокола SSL для защиты 223пример защиты 210пример сценария настройки файлов протоколов 183причины и сообщения об ошибках 43программа HTImage
о программе 253описание 253применение для обработки карт
изображений 253примеры 255
Индекс 283
программа HTImage (продолжение)синтаксис 255требования 254
протокол браузеров 178протокол доступа 178протокол ссылок 178
протокол доступао нем 178протокол браузеров 178протокол ссылок 178содержимое 178
протокол доступа к Proxy 179протокол доступа к кэшу 179протокол ошибок 178протокол ошибок CGI 178протокол ссылок 178
о нем 178протокол браузеров 178протокол доступа 178
РРабота приложений с API сервера
PICSDBLookup 142директива Authentication 137директива Authorization 138директива Error 139директива PreExit 143директива ServerInit 144директива ServerTerm 144директивы 135процедура DataFilter 139процедура Log 140процедура ObjectType 141процедура PostExit 143
разрешение программ CGI 190расширения файлов по умолчанию 56расширенный формат протокола
ExtendedLogFormat, поддирективы 86расширенный формат протокола, документация 177резервное копирование и восстановление
сохраняемые файлы 15
Ссбор информации о клиентах, обращающихся к
определенному Web–сайту 181сбор информации только о запросах, поступающих из
внешней сети 181
серверзащита 187, 188, 189
активация защиты 192выбор типа защиты 193директива Fail 191защита с помощью идентификации по имени
пользователя и паролю 194защита с помощью шаблона адреса 195идентификация клиентов SSL 194идентификация конфигурации защиты для
клиентов 198настройка защиты от атак 206обработка запроса на сервере 195ограничение доступа к конкретным
файлам 205поддержка только операций чтения 190порядок применения правил 190правило отказа по умолчанию 189применение директив 189пример защиты 210работа с файлами групп сервера 207работа с файлами списков управления
доступом (ACL) 208разрешение запуска только программ
CGI 190рекомендации по настройке идентификации
клиентов SSL в ACL 209рекомендации по настройке идентификации
клиентов SSL в конфигурации защиты 205создание конфигураций защиты 197создание конфигураций защиты для
идентификации клиентов SSL 203ссылка на файл групп сервера 200указание допустимых имен пользователей,
групп и адресов 200, 201указание контрольного списка 199указание типа идентификации 199учет регистра символов в директивах
преобразования 191фильтрация запросов 193явное разрешение программ CGI 190
идентификация клиентов по протоколу SSL 227поддержка цифровой идентификации в
AS/400 217правило отказа по умолчанию 189
Серверы LDAPLDAPInclude, директива 65LDAPInfo, директива 59LDAPInfo, поддирективы 60
CacheTimeout 62ClientAuthType 63
284 Руководство администратора IBM HTTP Server для AS/400 V4R4
Серверы LDAP (продолжение)LDAPInfo, поддирективы (продолжение)
GroupMemberAttrs 65GroupNameFilter 65GroupSearchBase 65Host 60IdleConnTimeout 61Port 61SearchTimeout 62ServAuthType 62ServerDN 63ServerPasswordStashFile 63Transport 60UserNameFieldSep 64UserNameFilter 64UserSearchBase 64WaitToRetryConnTime 61
директивы 59сервлеты Java
директивы 49сертификат
Диспетчер цифровых сертификатов (DCM) 218запуск 220настройка системы для работы с цифровыми
сертификатами 222симметричные ключи 215создание отчетов
AccessReportDescription, поддиректива 95AccessReportDoDNSLookup, директива 94AccessReportExcludeHostName, поддиректива 95AccessReportExcludeMethod, поддиректива 95AccessReportExcludeReturnCode,
поддиректива 95AccessReportExcludeURL, поддиректива 96AccessReportIncludeHostName, директива 96AccessReportIncludeURL, директива 96AccessReportTemplate, директива 94AccessReportTopList, поддиректива 97ReportDataSizeLimit, директива 98ReportProcessOldLogs, директива 97директивы 93
создание отчетов по протоколамдиректива DoReporting 100директива DoWebUsageMining 100директива ReportDataArchive 98директива ReportDataExpire 99
сообщения об ошибках по умолчаниюbadrange 47badredirect 45badrequest 44
сообщения об ошибках по умолчанию (продолжение)badscript 44baduser 45byrule 45connectfail 44 dirbrowse 45dotdot 45ipmask 45 ipmaskproxy 46methoddisabled 46 multifail 47noacl 46noentry 46noformat 48 nopartner 44notallowed 46notauthorized 44 notmember 44okredirect 44openfailed 46preconfail 47 proxyfail 44proxynotauth 47proxynotmember 47proxypwchanged 47proxypwexpired 47 pwchanged 45 pwexpired 45scriptio 48scriptnotfoun 48scriptstart 48setuperror 46setupsurrogate 48systemerror 48unknownmethod 44причины и сообщения об ошибках 43
соответствие правилу, серверпорядок 190
списки содержимого каталоговDirShowBytes, директива 32DirShowCase, директива 33DirShowDate, директива 33DirShowDescription, директива 33DirShowMaxDescrLength, директива 34DirShowMaxLength, директива 34DirShowMinLength, директива 34DirShowOwner, директива 35DirShowSize, директива 35директивы 32
Индекс 285
список управления доступомприменение 208
стандарт PICS 169сценарии CGI 188
Ууказание времени 14указание глобальных значений параметров для всех
протоколов 179указание максимального размера файлов
протоколов 180указание опций для протоколов доступа, браузеров и
ссылок 180указание путей к протоколам 180
указание опций протоколов ошибок 183указание пути к протоколу доступа к кэшу сервера
Proxy 184уменьшение размера протоколов 181управление доступом
Protection 108встроенные определения защиты 104директива Protect 104директивы 104конфигурация защиты 104поддиректива SSL_ClientAuth 120поддирективы Protection 109
ACLOverride 109AuthType 109CommonName 111Country 112, 116DeleteMask 112GetMask 112GroupFile 113IssuerCommonName 113IssuerCountry 114IssuerLocality 114IssuerOrganization 115IssuerOrgUnit 115IssuerStateOrProvince 116Mask 117Organization 117OrgUnit 118PasswdFile 118PostMask 119PutMask 119SerialNum 119ServerID 120StateOrProvince 120UserID 121
управление ключами, сертификатами и надежнымибазовыми сертификатами 218, 220
управление системойдиректива CacheLocalFile 164директива CacheLocalMaxBytes 164директива CacheLocalMaxFiles 165директива InputTimeout 166директива LiveLocalCache 166директива MaxActiveThreads 166директива MaxPersistRequest 167директива MinActiveThreads 167директива OutputTimeout 168директива PersistTimeout 168директива ScriptTimeout 169директива SNMP 161директива SNMPCommunityName 161директива UseACLs 169директива WebMasterEmail 162директивы 162
учет регистра символовправила преобразования 191
ФФайлы README
DirReadme, директива 40директивы 40
файлы группподдиректива GroupFile 113файлы групп сервера 207
фильтрация запросов 193фильтрация пакетов 188
Ххэш 215
Ццелостность 214цифровая идентификация
AS/400 217цифровая подпись 214, 215, 216цифровой сертификат 216
Диспетчер цифровых сертификатов (DCM) 218запуск 220
настройка системы для работы с цифровымисертификатами 222
286 Руководство администратора IBM HTTP Server для AS/400 V4R4
Шшифрование 214
что это такое? 214
Яязыки и кодировки
AddClient, директива 51, 52AddEncoding, директива 53AddLanguage, директива 54AddType, директива 55
расширения файлов по умолчанию 56DirExcludeMulti, директива 50MultiFormatProcessing, директива 49SuffixCaseSense, директива 58директивы 49
Индекс 287
ÉÂÔÙ
Напечатано в Дании
GH43–0081–04