Контейнеры. Директивы настройки Apache находятся в файле конфигурации httpd.conf

Директивы настройки Apache находятся в файле конфигурации httpd.conf

в одном из двух видов контекста:

r в контексте конфигурации сервера — глобальные настройки;

r в контексте контейнера.

Область действия директив, указанных в контексте контейнера, ограничива- ется объектом, связанным с данным контейнером. Например, для обеспече- ния возможности обращаться к каталогу /usr/share/doc, используя псевдоним doc (см. пример 28.3), можно создать контейнер, как в примере 28.4.

 

Пример 28.4. Контейнер Directory

 

<Directory /usr/share/doc>

Options Indexes FollowSymLinks Order deny,allow

Deny from all

Allow from 127.0.0.1

</Directory>

 

Данный контейнер устанавливает права доступа к каталогу /usr/share/doc, по- лучить содержимое которого можно, обратившись по URL http://localhost/doc, т. к. имеется псевдоним doc, указывающий на этот каталог.


 

Опция Indexes позволяет Apache автоматически выводить список файлов и подкаталогов, если в данном каталоге отсутствует файл index.html. Опция FollowSymLinks позволяет следовать символическим ссылкам в этом каталоге.

Директива Order предназначена для указания интерпретации следующих да- лее директив: Deny, устанавливающей запрет доступа к ресурсу, и Allow, раз- решающей доступ. В этом примере к каталогу /usr/share/doc разрешен доступ посредством Apache только для клиентов с локального узла.

Контейнеры, используемые наиболее часто:

r <Directory> — применяются для указания директив, область действия которых ограничена заданным каталогом (при задании имени каталога с помощью регулярного выражения перед ним следует указывать знак ~);

r <DirectoryMatch> — то же, что и предыдущий контейнер, но исходно предназначенный для указания имен каталогов с помощью регулярных выражений (знак ~ указывать не нужно);

r <Files> — для директив, связанных с заданными файлами (при задании имени файла с помощью регулярного выражения перед ним следует ука- зывать знак ~);

r <FilesMatch> — для директив, связанных с заданными файлами, указы- ваемыми с помощью регулярных выражений (знак ~ указывать не нужно);

r <Location> — для указания директив, связанных с заданными URL;

r <LocationMatch> — указания настроек для URL, заданных регулярными выражениями;

r <VirtualHost> — особый вид контейнера, связанный с виртуальными уз- лами, т. е. с Web-сайтами, обслуживаемыми данным сервером, но имею- щими отличные доменные имена или IP-адреса;

r <Limit> — контейнер, ограничивающий возможности использования за- данных команд протокола HTTP (например, GET или POST);

r <LimitExcept> — контейнер, выполняющий обратное по смыслу действие по сравнению с предыдущим;

r <IfDefine> — контейнер, содержимое которого действительно только при указании некоторой дополнительной функциональности Apache (напри- мер, подключения SSL) с помощью опции -D команды httpd;

r <IfModule> — контейнер, содержимое которого действительно только при подключении указанного модуля.

Некоторые виды контейнеров допускают вложенность. Так, например, для обеспечения возможности проводить мониторинг активности Apache можно воспользоваться модулем mod_status.c (пример 28.5).


 

Пример 28.5. Модуль mod_status.c

 

<IfModule mod_status.c>

<Location /server-status> SetHandler server-status Order deny,allow

Deny from all

allow from 127.0.0.1

</Location>

</IfModule>

 

Контейнер <IfModule> здесь содержит контейнер <Location>, который по- зволяет в случае наличия модуля mod_status.c получить с локального узла информацию о состоянии сервера, обратившись по адресу http://localhost/ server-status.

Директива SetHandler, использованная в этом примере, задает обработчик для всех файлов, предоставляемых сервером. В данном примере именно эта директива позволяет получить статус сервера с помощью модуля mod_status.c.

Среди программ пакета httpd обычно имеется удобная утилита a2enmod, ав- томатизирующая подключение модулей Apache.

 








Дата добавления: 2015-06-12; просмотров: 806;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.006 сек.