Организация Web-доступа в среде zLinux на сервере z9 BC

Дипломная работа - Компьютеры, программирование

Другие дипломы по предмету Компьютеры, программирование

?ения индексов каталогов)(Allow, Deny и Order)(Options и XBitHack)

Секция VirtualHost (S) включает директивы, применяемые для запросов к указанному хосту ("*" означает любой адрес или любой порт; "_default_" - адреса, не указанные в других секциях):

...

Секция Directory (SV) включает директивы, применяемые только к запросам файлов из указанного в заголовке секции каталога и его подкаталогов (вместо полного имени каталога можно указывать шаблон в стиле Unix или регулярное выражение в кавычках, перед которым необходимо указать "~ "), нельзя вкладывать в секции Directory и Limit:

...

Секция DirectoryMatch (SV) включает директивы, применяемые только к запросам файлов из указанного в заголовке секции каталога и его подкаталогов, нельзя вкладывать в секции Directory и Limit:

...

Секция Files (SVDA) включает директивы, применяемые только к запросам файлов с указанным в заголовке секции простым именем (вместо простого имени можно указывать шаблон в стиле Unix или регулярное выражение в кавычках, перед которым необходимо указать "~ "):

...

Секция FilesMatch (SVDA) включает директивы, применяемые только к запросам указанного в заголовке секции файла:

...

Секция Location (SV) включает директивы, применяемые только к запросам URL, указанным в заголовке секции (для локальных - не прокси - запросов нельзя указывать схему, имя хоста, номер порта и строку запроса; можно указывать шаблон в стиле Unix)

...

Секция LocationMatch (SV) включает директивы, применяемые только к запросам URL, указанным в заголовке секции:

...

Секция Limit (SVDFLA) включает директивы управления доступом, применяемые только к запросам указанного в заголовке секции HTTP методам доступа (GET (действует также на HEAD), POST, PUT, DELETE, CONNECT, OPTIONS, PATCH, PROPFIND, PROPPATCH, MKCOL, COPY, MOVE, LOCK, UNLOCK; TRACE указывать нельзя):

...

Секция LimitExcept (SVDFLA) включает директивы управления доступом, применяемые к запросам не указанных в заголовке секции HTTP методов доступа:

...

Порядок применения директив определения свойств и прав доступа к объекту (все секции одного типа, кроме Directory и .htaccess, применются по порядку; Directory и .htaccess применяются от кратчайшего пути к самому длинному; секции внутри VirtualHost применяются после соответствующих общих секций):

секция Directory (кроме регулярных выражений) и .htaccess (.htaccess перебивает Directory, если разрешено директивой AllowOverride)

секция DirectoryMatch и Directory с регулярными выражениями

секции Files и FilesMatch

секции Location и LocationMatch

Журнал ошибок управляется директивами ErrorLog и LogLevel модуля Core. Кроме сообщений сервера сюда направляется вывод на stderr скриптов CGI, вывод модуля dumpio.

Журнал доступа управляется модулем log_config, который позволяет задать имя файла и формат вывода. Данный журнал содержит записи о всех (если не отфильтровано директивой CustomLog) запросах к серверу. Каждый виртуальный сервер может вести произвольное число журналов в различных форматах.

Каждый запрос к серверу порождает строку в журнале, состоящую из элементов (token), разделенных пробелами. Пустой элемент записывается как символ '-'. Если элемент содержит пробелы, то он должен заключаться в кавычки (это надо самому предусмотреть при описании формата). При описании формата используются литеральные символы, которые копируются в журнал (можно использовать '\n' и т.п.; кавычки и обратная косая должны быть прикрыты символом '\') и директивы, которые начинаются с символа '%' и завершаются однобуквенным именем директивы. Между ними может стоять условие в виде списка кодов завершения HTTP через запятую (м.б. предваренных восклицательным знаком для операции отрицания) - если условие не выполняется, то вместо элемента записывается минус. Модификаторы перед буквой директивы позволяют определить (в случае внутреннего перенаправления) атрибут исходного ('') запроса будет использоваться при создании строки журнала.

Директива в описании формата замещается соответствующим значением:

%% - '%'

%a - адрес удаленного хоста

%A - локальный адрес

%B - количество посланных байт, кроме HTTP-заголовка

%b - количество посланных байт, кроме HTTP-заголовка (вместо 0 пишется '-')

%{имя-куки}C - значение куки

%D - микросекунд потрачено на обработку запроса

%{имя}e - значение переменной окружения

%f - имя файла

%h - имя удаленного хоста

%H - протокол (HTTP)

%{имя-заголовка}i - значение заголовка запроса; наиболее часто используются - откуда была ссылка на документ agent - что сказал о себе броузер

%I - количество полученных байт, включая заголовки (требуется logio)

%l - имя удаленного пользователя (если задействован ident)

%m - метод (GET, PUT и т.д.)

%{имя-заметки}n - содержимое заметки с указанным именем, созданной другим модулем (например, %{forensic-id}n или %{cookie}n)

%{имя-заголовка}o - значение заголовка ответа

%O - количество посланных байт, включая заголовки (требуется logio)

%p - канонический номер порта сервера

%P - pid процесса, обслуживающего запрос

%{tid}P - идентификатор потока, обслуживающего запрос

%q - поисковая часть URL (после '?')

%r - первая строка запроса

%s - статус запроса (код возврата HTTP)

%t - вр