- •Запуск и остановка Apache
- •Директивы конфигурации web-сервера Apache. Контексты использования директив конфигурации
- •Контейнерные директивы Apache
- •Условная конфигурация
- •Использование динамических модулей
- •Ограничительные директивы Apache
- •Директива Options
- •Основные директивы конфигурации Apache
- •Директивы производительности Apache
- •Управление процессами
- •Управление потоками
- •Директивы для управления процессами и потоками
- •Постоянные соединения
- •Псевдонимы
- •Конфигурация типа содержимого Языки файлов
- •Типы файлов
- •Обработчики
- •Наборы символов
- •Активизация механизма cgi
- •Активизация механизма ssi
- •Переадресация
- •Аутентификация
- •Алгоритм аутентификации:
- •Управление доступом
- •Виртуальный хостинг
- •Обработка ошибок
- •Протокол ssl
Активизация механизма ssi
SSI расшифровывается как Server Side Includes. SSI – это набор команд, позволяющий включить в страницу информацию, недоступную для включения средствами HTML, такую как вывод программ, значения переменных окружения или статистику по файлам (размер, дата создания и др.).
SSI работает следующим образом: при получении запроса на документ, содержащий SSI-директивы, Web-сервер обрабатывает документ, выполняет все SSI-директивы, а получившийся в результате динамический документ возвращает клиенту. Web-сервер не проверяет автоматически все документы на наличие SSI-директив, а только те, которые относятся к типу, указанному в настройках сервера.
Для указания Web-серверу, какие документы считать содержащими SSI-директивы, в файле конфигурации сервера Apache /etc/httpd/conf/httpd.conf надо указать:
AddType text/html .shtml # описание расширения .shtml
AddHandler server-parsed .shtml # сопоставление расширения файла с
# обработчиком
После этого все документы с расширением .shtml будут проверяться на SSI-директивы. Но удобнее было бы определить, чтобы все .html-файлы могли содержать SSI. Это делается добавлением в файл конфигурации следующих строчек:
AddType text/html .html
AddHandler server-parsed .html
Теперь надо разрешить выполнение SSI в каталоге, в котором лежат ваши файлы. Для этого необходимо найти описание каталога, в котором они находятся, и добавить в его Options директиву Includes (разрешение использования SSI):
Options Indexes #было так
Options Indexes Includes #стало так
Переадресация
Директива Redirect [код_состояния] старый_URL новый_URL переадресовывает запрос к одному URL в запрос к другому URL. Если какой-либо раздел web-узла был перенесен в другой каталог или даже на новый web-узел, то эта директива гарантирует, что пользователи, запомнившие координаты старой страницы, смогут найти ее по новому адресу.
Коды состояния:
Permanent (301) - сообщает клиенту, что переадресация является постоянной.
Temp (302) - сообщает клиенту, что переадресация является временной.
Seeother (303) - возвращает состояние, указывающее на то, что ресурс был замещен.
Gone (410) - возвращает состояние, указывающее на то, что ресурс был окончательно удален. При использовании этого состояни аргумент URL не указывается.
Redirect permanent /archive http://host.com/arch #при запросе
# http://host.com/archive/file.html будет произведена
# переадресация на http://host.com/arch/file.html
RedirectMatch [код_состояния] регулярное_выражение новый_URL - директива подобна Redirect, но использует регулярные выражения.
Аутентификация
Если web-сервер нуждается в контроле доступа, то в настоящее время (в HTTP/1.1) имеется две возможности. Первая (basic) - предполагает традиционный ввод и передачу по сети имени клиента и пароля. Эта схема проста, но допускает перехват параметров доступа (а между клиентом и сервером может быть достаточно много промежуточных узлов). Вторая схема (digest) для пользователя выглядит аналогично, но вводимое имя и пароль не передаются по сети непосредственно. На их базе формируется дайджест MD5, который пересылается по сети и используется для идентификации клиента.
