Конфигурационный
файл Apache
Хотя подкаталог /etc/httpd/conf
включает все три оригинальных конфигурационных файла, собственно конфигурируется
только файл httpd. conf. Остальные CONf-файлы оставлены для совместимости с
предыдущими версиями.
Структура файла httpd.
conf довольно проста. Ниже приведен его листинг по умолчанию:
##
## httpd.conf
- конфигурационный файл HTTP-сервера Apache
##
#
# Построил Rob
mcCool на основе конфигурационных файлов NCSA-сервера. #
# Это основной
конфигурационный файл сервера. QH содержит
# конфигурационные
директивы для сервера. За дополнительными
# инструкциями
обращайтесь по адресу <URL:
http://www.apache.org/docs/
>
#
# Если не понятно,
о чем речь - лучше не читать. Если в чем-то
# не уверены -
обращайтесь к документации в on-line. Вас предупредили. #
# После обработки
этого файла, сервер ищет и обрабатывает файлы
# /usr/conf/srm.conf
и /usr/conf/access.conf, если вы не заблокировали
# их здесь директивами
ResourceConfig и/или AccessConfig.#
# Директивы конфигурирования
разбиты на три раздела:
# 1. Директивы,
управляющие работой сервера Apache в целом
# (раздел 'global
environment') .
# 2. Директивы,
определяющие параметры 'сервера 'main' или 'default',
# соответствующие
запросам, не обрабатываемы виртуальным хостом.
# Эти директивы
также обеспечивают значения по умолчанию для всех
# виртуальных
хостов.
# 3. Установки
для виртуальных хостов, позволяющие отправлять
# Web-запросы
на другие iP-адреса или хосты в расчете на обработку # аналогичным Apache-сервером.
#
# Имена файлов
конфигурации и протокола: Если заданные имена файлов
# управления сервером
начинаются с "/" (или "drive:/ " для Win32),
# сервер будет
использовать явный путь. Если имена не начинаются
# с "/",
значение ServerRoot интерпретируется так: "logs/foo.log"
# для ServerRoot,
установленного на "/usr/local/apache" будет
# интерпретироваться
сервером как "/usr/local/apache/logs/foo.log".
### Раздел 1:
Global Environment #
# Директивы этого
раздела определяют поведение Apaohe в целом,
# например, задают
число параллельно обрабатываемых запросов, # или местоположение конфигурационных
файлов.
# #
# ServerType либо
inetd, либо standalone. inetd режим поддерживается
# только на платформе
Unix. #
ServerType standalone
#
# ServerRoot:
Корень дерева каталогов, в котором сервер хранит # файлы конфигурации, ошибок
и протоколов.
#
# Внимание! Если
вы хотите разместить его в NfS (или сети), смонтируйте
# файловую систему,
затем прочитайте документацию Lockfile (доступную
# по адресу <URL:
http://www.apache.org/docs/mod/core.htmlflockfile
>),
# и вы избавите
себя от массы забот. #
# Не добавляйте
косую черту в конце пути каталога. ServerRoot "/etc/httpd"
#
# Команда Lockfile
устанавливает путь к файлу блокировки, использующемуся
# если Apache
откомпилирован либо с USE_fCNTL_SERiALiZED_ACCEPT, либо с
# USE_fLOCK_SERiALiZED_ACCEPT.
Обычно эта команда должна иметь значение
# по умолчанию.
Основной причиной, по которой нужно изменять эту
# переменную,
является установка каталога протоколов на смонтированной
# NfS, так как
файл-блокировки ДОЛЖЕН НАХОДИТЬСЯ НА ЛОКАЛЬНОМ ДИСКЕ.
# PiD главного
процесса сервера автоматически добавляется к имени файла. #
Lockfile /var/lock/httpd.lock
# Pidfile: Файл
для протоколирования pid сервера Pidfile /var/run/httpd.pid
# Scoreboardfile:
Файл для хранения сервером внутренней информации о
# процессе. Требуется
не на всех архитектурах. Но если у Вас требуется
# (файл будет
создан после запуска Apache), то Вы *должны* убедиться в # том, что ни одна
из запускаемых копий Apache не разделяет один и тот # же файл для этой цели.
#
Scoreboardfile
/var/run/httpd.Scoreboard
#
# В стандартной
конфигурации сервер обработает этот файл,
# файл srm.conf
и access.conf в указанном порядке. Два последних файла
# в этом дистрибутиве
пусты, а все директивы объединены в один
# файл для простоты.
Ниже приведены закомментированные
# значения по
умолчанию. Можно заставить сервер проигнорировать
# эти файлы, задав
"/dev/null" (для Unix) или
# "mil"
(для Win32) в качестве аргументов директив. #
# ResourceConfig
conf/srm.conf
#AccessConfig
conf/access.conf
#
# Timeout: Количество
секунд перед приемом и посылкой тайм-аута. Timeout 300
# KeepAlive: Разрешить
или не разрешить устойчивые соединения (более
# одного запроса
на каждое соединение). Для запрещения установите в "Off". KeepAlive
On
# maxKeepAliveRequests:
Максимальное количество разрешенных запросов при
# устойчивом соединении.
Значение 0 устанавливает неограниченное
#количество. Для
обеспечения максимальной производительности рекомендуем
# установить это
число большим. # maxKeepAliveReguests 100
#
# KeepAliveTimeout:
Количество секунд для ожидания следующего запроса.
#
KeepAliveTimeout
15
#
# Правила размера
серверного пула. Чтобы Вы не гадали, сколько Вам нужно
# процессов для
сервера, Apache динамически подстраивается к текущей
# нагрузке — он
пытается запустить необходимое количество процессов для # оперирования текущей
нагрузкой, плюс несколько резервных серверов для
# обслуживания
временных пиков (т.е. нескольких одновременных запросов,
# исходящих из
одного браузера Netscape). #
# Делает он это
при помощи периодической проверки количества
# серверов, ожидающих
запросов. Если их меньше, чем minSpareServers,
# то он создает
дополнительный резерв. Если
больше,
чем
# maxSpareServers,
то он уничтожает некоторые из них.
# Эти значения,
вероятно, подходят для многих сайтов #
minSpareServers
5 maxSpareServers 20
#
# Количество запускаемых
серверов — должно быть умеренное
# приблизительное
число. #
StartServers 8
# Предел на общее
количество запускаемых серверов, т.е. предел на число
# одновременно
соединяющихся клиентов - если этот предел когда-либо
# будет достигнут,
клиенты будут ЗАБЛОКИРОВАНЫ, поэтому он НЕ ДОЛЖЕН
# БЫТЬ СЛИШКОМ
МАЛЕНЬКИМ. Этот параметр главным образом используется
# как тормоз,
чтобы необузданный сервер не потянул за собой Unix,
# который в это
время начнет тормозить... #
maxClients 150
# maxRequestsPerChild:
максимальное количество запросов, разрешенных
# для обработки
каждому дочернему процессу перед его удалением.
# После
этого дочерний процесс будет завершен, чтобы избежать
|
||
# неприятностей
связанных с продолжительным использованием из-за
|
||
# изъянов
Apache (а может и используемых им библиотек) . На многих
|
||
# системах
этот параметр не очень нужен, но некоторые (такие как
|
||
# Solaris)
действительно имеют изъяны в библиотеках. Для таких систем
|
||
# задайте
значение, наподобие 10000;
|
||
# значение
0 означает "неограниченный".
#
|
||
# Внимание:
Это значение не включает keepalive-запросы после .соединения.
|
||
# Например,
если дочерний процесс обрабатывает начальный запрос и 10
|
||
# последующих
keptalive-запросов, будет учтен только один запрос
|
||
# при
анализе превышения данного предела .
|
||
#
|
||
maxRequestsPerChild
100
|
||
#
|
||
# Listen:
Позволяет привязать Apache к конкретным iP-адресам
|
||
# и/или
портам, в дополнение к принятым по умолчанию значениям.
|
||
# См.
также команду VirtualHost.
|
||
#
|
||
#Listen
3000
|
||
#Listen
12.34.56.78:80
|
||
Listen
80
|
||
#
|
||
# bindAddress:
Эту сйщию можно использовать для поддержки виртуальных
|
||
# хостов.
Эта опция указывает серверу iP-адрес для прослушивания. Он
|
||
# может
содержать либо "*", либо iP-адрес, либо полное квалифицированное
|
||
# имя
internet-домена. См. также команду VirtualHost.
|
||
#
|
||
# bindAddress
*
|
||
|
||
|
||
# Поддержка
Dynamic Shared Object (DSO - Динамические
|
||
# совместные
объекты)
|
||
#
|
||
# Чтобы
использовать функциональность модулей, построенных как DSO,
|
||
# поместите
соответствующие строчки 'Loadmodule' в этом месте, чтобы
|
||
# содержащиеся
в них команды были доступны до того, как они будут
|
||
# использованы.
Для дополнительной информации о механизме DSO,
|
||
# пожалуйста,
прочтите файл READmE. DSO из дистрибутива Apache Д. 3 и
|
||
# запустите
'httpd -1' для получения списка уже встроенных модулей
|
||
# (они
Скомпонованы статически и, таким образом, всегда доступны)
|
||
# в исполняемом
модуле httpd.
|
||
# # Внимание
: Порядок загрузки модулей существенен. Не меняйте
|
||
# приведенный
ниже порядок без консультации со специалистом.
|
||
# Пример
:
|
||
# Loadmodule
foo_module libexec/mod_foo.so
|
||
#
|
||
# Loadmodule
imiap_static_module modules /mod_mmap_static. so
|
||
Loadmodule
vhost_alias_module modules/mod_vhost_alias.so
|
||
Loadmodule
env_module modules /mod_env. so
|
||
Loadmodule
conf ig_log_module modules /mod_log_config. so
|
||
Loadmodule
agent_log_module modules /mod_log_agent .so
|
||
Loadmodule
referer_log_module modules /mod_log_referer .so
|
||
#Loadmodule
mime_magic_module modules /mod_mime_magic .so
|
||
Loadmodule
mime_module modules /mod_mime. so
|
||
Loadmodule
negotiation_module modules /mod_negotiation. so
|
||
Loadmodule
status_module modules /mod_status. so
|
||
Loadmodule
info_module modules /mod_info. so
|
||
Loadmodule
includes_module modules/mod_include.so
|
||
Loadmodule
autoindex_module modules/mod_autoindex.so
|
||
Loadmodule
dir_module modules /mod_dir .so
|
||
Loadmodule
cgi_module modules /mod_cgi .so
|
||
Loadmodule
asis_module modules/mod_asis . so
|
||
Loadmodule
imap_module modules /mod_imap. so
|
||
Loadmodule
action_module modules /mod_actions . so
|
||
tLoadmodule
speling_module modules /mod_speling. so
|
||
Loadmodule
userdir_module modules /mod_userdir. so
|
||
Loadmodule
alias_module modules/mod_alias .so
|
||
Loadmodule
rewrite_module modules /mod_rewrite. so
|
||
Loadmodule
access_module modules /mocLaccess. so
|
||
LuaJWuUule
auUuuuQule modules/mod_auth.so
|
||
Loadmodule
anon_auth_module modules /mocLauth_anon. so
|
||
Loadmodule
db_auth_module modules /mod_auth_db. so
|
||
#Loadmodule
digest module modules /mod_dige'st. so
|
||
#Loadmodule
proxy_module modules /libproxy. so
|
||
#Loadmodule
cern_meta_moduie modules /mod cern_meta.so
|
||
Loadmodule
expires_module modules /mod_expires. so
|
||
Loadmodule
headers_module modules/mod_headers.so
|
||
#Loadmodule
usertrack_module modules /mod_user track. so
|
||
#LoadmnHn1e
example_modul modules /mod_example. so
|
||
#Loadmodule
unique_id_module modules /mod_unique_id. so
|
||
Loadmodule
setenvif_module moauies/mod_secenvit.so
|
||
#Loadmodule
bandwidth_module modules /mod_bandwidth . so
|
||
iLoadmodule
put_module modules/mod_put.so
|
||
<if
Define HAVE_PERL>
|
||
Loadmodule
perl_module modules /libperl .so
|
||
</lfDefine>
|
||
<if
Define HAVE_PHP>
|
||
Loadmodule
php_module modules /mod_php. so
|
||
</ifDefine>
|
||
<ifDefine
HAVE_PHP3>
|
||
Loadmodule
php3_module modules /libphpS . so
|
||
</ifDefine>
|
||
<ifDefine
HAVE_PHP4>
|
||
Loadmodule
php4_module modules/ iibphp4. so
|
||
</ifDefine>
|
||
<ifDefine
HAVE_DAV>
|
||
Loadmodule
dav_module modules /libdav. so
|
||
</ifDefine>
|
||
<if
Define HAVE_ROAmiNG>
|
||
Loadmodule
roaming_module modules /mod_roaming. so
|
||
</ifDefine>
|
||
<ifDefine
HAVE_SSL>
|
||
Loadmodule
ssl_module modules/libssl .so
|
||
</ifDef
ine>
|
||
# Реконструкция
полного списка модулей из всех доступных модулей
|
||
# (статических
и совместных) для обеспечения правильного порядка
|
||
# выполнения
модулей.
|
||
# [ВСЯКИЙ
РАЗ ПОСЛЕ ПОПРАВОК В СЕКЦИИ LOADmODULE (см. выше)
|
||
# ТАКЖЕ
ОТКОРРЕКТИРУЙТЕ И ЭТУ СЕКЦИЮ]
|
||
ClearmoduleList
|
||
#Addmodule
mod_mmap_static.c
|
||
Addmodule
mod_vhost_alias.c
|
||
Addmodule
mod__env.с
|
||
Addmodule
mod_log_conf ig.c
|
||
Addmodule
mod_log_agent.c
|
||
Addmodule
mod_log_referer.c
|
||
#Addmodule
mod_mime_magic . с
|
||
Addmodule
mod_mime . с
|
||
Addmodule
mod_negotiation.c
|
||
Addmodule
mod_status.c
|
||
Addmodule
mod_info.c
|
||
Addmodule
mod_include.c
|
||
Addmodule
mod_auto index . с
|
||
Addmodule
mod_dir.c
|
||
Addmodule
mod_cgi.c
|
||
Addmodule
mod_asis.c
|
||
Addmodule
mod_imap.c
|
||
Addmodule
mod_actions.c
|
||
#Addmodule
mod_spel ing . с
|
||
Addmodule
mod_userdir . с
|
||
Addmodule
mod_alias.c
|
||
Addmodule
mod_rewrite .c
|
||
Addmodule
mod_access . с
|
||
Addmodule
mod_auth.c
|
||
Addmodule
mod_auth_anon . с
|
||
Addmodule
mod_auth_db . с
|
||
#Addmodule
mod_digest.c
|
||
#Addmodule
mod_proxy.c
|
||
#Addmodule
mod_cern_meta . с
|
||
Addmodule
mod_expires . с
|
||
Addmodule
mod_headers . с
|
||
#Addmodule
mocLuser track _e
|
||
#Addmodule
mod_example.c
|
||
#Addmodule
mod_unique_id . с
|
||
Addmodule
mod_so.c
|
||
Addmodule
mod_setenvif .c
|
||
#Addmodule
mod__bandwidth . с
|
||
#Addmodule
mod_put.c
|
||
< if
Define HAVE_PERL>
|
||
Addmodule
mod_perl.с
|
||
</ifDefine>
|
||
<ifDefine
HAVE_PHP>
|
||
Addmodule
mod_php.c
|
||
</ifDefine>
|
||
<ifDefine
HAVE_PHP3>
|
||
Addmodule
mod_php3 . с
|
||
</ifDef
ine>
|
||
<if
Define HAVE_PHP4>
|
||
Addmodule
mod_php4.c
|
||
</ifDefine>
|
||
<if
Define HAVE_DAV>
|
||
Addmodule
mod_dav . с
|
||
</ifDefine>
|
||
<ifDefine
HAVE_ROAmiNG>
|
||
Addmodule
mod_roaming . с
|
||
</ifDef
ine>
|
||
<ifDefine
HAVE_SSL>
|
||
Addmodule
mod_ssl . с
|
||
</ifDef
ine>
|
||
# ExtendedStatus
: определяет, будет ли Apache генерировать
|
||
# информацию
о состоянии в полном объеме (ExtendedStatus On)
|
||
# или
только базисную информацию (ExtendedStatus Off) ,
|
||
# когда
вызывается обработчик "server-status". По умолчанию
|
||
# используется
значение Off.
|
||
#
|
||
#ExtendedStatus
On
|
||
#
|
||
### Раздел
2: 'main' конфигурация сервера
|
||
#
|
||
# Директивы
этого раздела устанавливают значения, используемые
|
||
# 'main'
сервером, который отвечает на любой запрос, не
|
||
# обработанный
хостом <VirtualHost>.
|
||
# Эти
значения также задают величины по умолчанию для любых
|
||
# контейнеров
<VirtualHost>, которые вы можете
|
||
# определить
позже.
|
||
#
|
||
# Все
эти директивы могут возникать внутри контейнеров
|
||
# <VirtualHost>.
В этом случае значения по умолчанию будут
|
||
# заменены
этими величинами для виртуальных хостов.
|
||
#
|
||
#
|
||
# Если
ваша директива ServerType (см. выше в разделе
|
||
# 'Global
Environment') устанавливает значение "inetd",
|
||
# следующие
несколько директив не оказывают никакого эффекта,
|
||
# поскольку
их значения определены inetd-конфигурацией.
|
||
#
|
||
# Переходите
к директиве ServerAdmin.
|
||
#
|
||
# Port:
порт, который прослушивает сервер в режиме standalone.
|
||
# Если
номер порта < 1023, то при загрузке httpd нужно запускать с
|
||
# привилегиями
root .
|
||
# Port
80
|
||
# Чтобы
запустить httpd как другого пользователя или группу
|
||
# пользователей,
необходимо вначале запустить httpd как root, a
|
||
# он затем
сам выполнит переключение.
|
||
#
|
||
# User/Group:
Имя (или #номер) пользователя/группы, под которым
|
||
# запустить
httpd.
|
||
# На SCO
(ОПТ 3) используйте User nouser и Group nogroup
|
||
# Если
на HPUX указать nobody, то нельзя будет использовать
|
||
# разделяемую
память и выходом из положения может быть
|
||
# создание
пользователя www и его использование.
|
||
#
|
||
# ПРИМЕЧАНИЕ
: в некоторых системах ядро отвергает запросы на
|
||
# setgid(Group)
или semctl(iPC_SET), если величина (unsigned)
# Group больше
60000;
# не используйте
группу nobody на таких системах!
User apache Group
apache
# ServerAdmin:
Адрес, куда направлять электронную почту
# для решения
проблем с сервером.
#
ServerAdmin root@localhost
# ServerName позволяет
установить имя хоста, которое будет возвращаться
# клиентам сервера,
если оно отличается от имени, получаемого
# программой (т.е.
используется "www" вместо настоящего имени хоста). #
# Примечание:
Нельзя просто придумать имя хоста и надеяться, что оно
# будет работать.
Имя, которое здесь определяется, должно быть
# допустимым DNS-именем
для хоста. Если это не понятно -.
# проконсультируйтесь
с вашим сетевым администратором.
# Если ваш хост
не имеет зарегистрированного DNS-имени, # введите здесь его iP-адрес.
# Вы в любом случае
получите доступ к хосту по его адресу
# (например,
http://123.45.67.89/)
и эта директива позволит
# выполнить переадресацию.
ServerName localhost
#
# DocumentRoot:
Каталог, из которого будут предоставляться документы.
# По умолчанию
на все запросы файлы предоставляются из этого каталога,
# но могут использоваться
символические ссылки и псевдонимы
# для указания
других источников, #
DocumentRoot "/var/www/html"
#
# Каждый каталог,
к которому Apache имеет доступ, может быть настроен
# с учетом того,
какие сервисы и свойства разрешены и/или запрещены
# в этом каталоге
(и его подкаталогах).
# Вначале установим
для "default" очень ограниченный набор прав доступа.
#
<Directory
/>
Options followSymLinks
AllowOverride None </Directory>
#
# Заметьте: начиная
с этого места, необходимо конкретно разрешать
# каждое действие.
Если что-то работает не так, как ожидалось,
# убедитесь, что
соответствующее действие разрешено.
# Эта строчка
должна содержать то же, что и элемент.DocumentRoot.
#
<Directory
"/var/www/html">
# Здесь
допустимы также значения "None", "All" и любые комбинации
|
||
# "indexes",
"includes", "followSymLinks", "ExecCGi"
и "multiViews".
|
||
# Заметьте:
"multiViews" должно быть указано *явно* - "Options All"
|
||
# не устанавливает
эту опцию.
|
||
Options
indexes includes followSymLinks
|
||
#
|
||
# Здесь
указывается, какие опции могут переопределить файлы .htaccess,
|
||
# находящиеся
в каталогах. Значение может быть "All" или любой
|
||
# комбинацией
"Options", "filelnfo", "AuthConfig" и
"Limit".
|
||
AllowOverride
None
|
||
# Указывает,
кто может брать файлы на этом сервере
|
||
|
||
Order
a How, deny
|
||
Allow
from all
|
||
</Directory>
|
||
#
|
||
# UserDir:
Имя каталога, которое добавляется к домашнему каталогу
|
||
# пользователя,
если получен запрос типа ~user.
|
||
#
|
||
UserDir
public_html
|
||
#
|
||
# Управление
доступом к каталогам UserDir. Ниже приведен пример
|
||
# для
узла, на котором каталоги объявлены доступными только для чтения.
|
||
#
|
||
#<Directory
/home/*/public_html>
|
||
# AllowOverride
filelnfo AuthConfig Limit
|
||
# Options
multiViews indexes SymLinksifOwnermatch includesNoExec
|
||
# <Limit
GET POST OPTiONS PROPfiND>
|
||
# Order
allow, deny
|
||
# Allow
from all
|
||
# </Limit>
|
||
# <Limit
PUT DELETE PATCH PROPPATCH mKCOL COPY mOVE LOCK UNLOCK>
|
||
# Order"
deny, allow
|
||
# Deny
from all
|
||
# </Limit>
|
||
#<
/Directory>
|
||
#
|
||
# Directorylndex:
Имя или имена файлов, которые будут использоваться как
|
||
# индексные
файлы HTmL. Разделяйте имена пробелами, если их несколько.
|
||
#
|
||
Directorylndex
index.html index.htm index. shtml index. php index. php4
|
||
->
index . php3 index . cgi
|
||
#
|
||
# AccessfileName:
Имя файла, который нужно искать в каждом каталоге
|
||
# и который
содержит информацию по управлению доступом.
|
||
#
|
||
AccessfileName
.htaccess
|
||
#
|
||
# Следующие
строки защищают файлы .htaccess от просмотра
|
||
# Web-
клиентами. Поскольку файлы .htaccess часто содержат
|
||
# сведения
об авторизации, доступ закрывается из соображений
|
||
# безопасности.
Закомментируйте эти строки, если хотите
|
||
# предоставить
Web-клиентам возможность просмотра содержимого
|
||
# файлов
.htaccess. Если вы изменили директиву AccessfileName
|
||
# выше,
то внесите соответствующие изменения и здесь.
|
||
# Поскольку
часто для файлов парольной защиты используются
|
||
# файлы
.htpasswd, защита будет обеспечена.
|
||
#
|
||
<files
-
н/ч
\ .ht">
|
||
Order
allow, deny
|
||
Deny from
all
|
||
</files>
|
||
#
|
||
# CacheNegotiatedDocs
: По умолчанию Apache посылает псевдокомментарий:
|
||
# не кэшировать
содержимое документов по договоренности. Это указывает
|
||
# прокси-серверу
не кэшировать документы. Раскомментирование нижестоящей
|
||
# строки
отменяет это действие и прокси-серверам будет разрешено
|
||
# кэширование
документов.
|
||
#
|
||
# CacheNegotiatedDocs
|
||
#
|
||
# UseCanonicalName:
(появилось в 1.3) Если включить эту опцию, то
|
||
# всякий
раз, когда Apache нужно построить самоссылающийся URL
|
||
# (URL,
который ссылается на сервер, с которого идет ответ) , он будет
|
||
# использовать
ServerName и Port для формирования "канонического"
|
||
# имени.
Когда эта опция выключена, сервер будет использовать
|
||
# переданный
клиентом hostname:port, если это возможно. Это также влияет
|
||
# на SERVER
NAmE И SERVER PORT в CGi.
|
||
#
|
||
UseCanonicalName
On
|
||
#
|
||
# TypesConfig
указывает где нужно искать файл mime. types (или его аналог)
|
||
#
|
||
TypesConfig
/etc /mime. types
|
||
|
||
#
|
||
# DefaultType
- тип mimE по умолчанию для тех документов, тип
|
||
# которых
сервер не может определить по расширению файлов.
|
||
# Если
ваш сервер содержит в основном текстовые или
|
||
# HTmL-документы,
следует задать значение "text/plain".
|
||
# Если
содержимое в основном дцоичное, например, приложения
|
||
# или
иллюстрации, можно использовать значение
|
||
# "application/
octet-stream", чтобы заблокировать попытки
|
||
# браузеров
отобразить двоичные файлы как текст.
|
||
#
|
||
DefaultType
text/plain
|
||
#
|
||
# mod
mime magic позволяет серверу использовать различные
|
||
# особенности
самого файла для определения его типа.
|
||
# Директива
mimEmagicfile указывает модулю, где
|
||
# расположены
предлагаемые определения..
|
||
# mod
mime magic не является частью сервера по умолчанию
|
||
# (необходимо
добавить его самостоятельно с помощью
|
||
# Loadmodule
[см параграф DSO в разделе 'Global Environment'],
|
||
# или
рекомпилировать сервер и включить mod mime_magic
|
||
# как
часть конфигурации) , поэтому он заключен в контейнер
|
||
# <ifmodule>.
|
||
# Это
значит, что директива mimEmagicfile будет отработана
|
||
# только
если модуль является частью сервера.
|
||
#
|
||
<ifmodule
mod_mime_magic . о
|
||
mimEmagicfile
/usr/ share/magic
|
||
</ifmodule>
|
||
#
|
||
# HostnameLookups
: Протоколировать имена клиентов или же только
|
||
# их iP-адреса
т.е. www.apache.org (on) или 204.62.129.132 (off)
|
||
# По умолчанию
off, так как для сети намного лучше, когда люди
|
||
# должны
сознательно включать эту опцию. Вариант on приводит
|
||
# к тому,
что каждый клиентский запрос порождает по крайней
|
||
# мере
одно обращение к серверу имен.
|
||
#
|
||
HoetnameLookupe
O££
|
||
#
|
||
# ErrorLog:
Расположение файла протокола ошибок.
|
||
# Если
директива ErrorLog не задана в контейнере
|
||
# <VirtualHost>,
сообщения об ошибках, касающихся
|
||
# виртуального
хоста, будут регистрироваться здесь.
|
||
# Если
вы определили файл регистрации ошибок для
|
||
# контейнера
<VirtualHost>, то сообщения об .ошибках хоста
|
||
# будут
регистрироваться в этом файле, а не здесь.
|
||
#
|
||
ErrorLog
/var/log/httpd/error_log
|
||
#
|
||
# Log~Level:
Управляет количеством сообщений,
|
||
# записывающихся
в error log.
|
||
# Перечень
возможных вариантов: debug, info, notice, warn,
|
||
# error,
crit, alert, emerg.
|
||
#
|
||
LogLevel
warn
|
||
#
|
||
# Далее
следуют команды, определяющие формат мнемонических
|
||
# имен,
которые будут использоваться в команде CustomLog (см. ниже) .
|
||
#
|
||
Logformat
"%h %1 %u %t \"%r\" %>s %b \ "%{Referer}i\"
\"%{User-
|
||
->
Agent }i\" " combined
|
||
Logformat
"%h %1 %u %t \"%r\" %>s %b" common
|
||
Logformat
"%{Referer}i -> %U" referer
|
||
Logformat
"% {User-agent}!" agent
|
||
#
|
||
# Расположение
файла протокола доступа (Обычный Формат Протокола) .
|
||
# Если
вы не определили никаких файлов протокола доступа в контейнере
|
||
# <VirtualHost>,
транзакции будут регистрироваться здесь.
|
||
# Если
вы определили файл регистрации для контейнера
|
||
# <VirtualHost>,
то транзакции; хоста будут регистрироваться
|
||
# в этом
файле, а не здесь.
|
||
#
|
||
CustomLog
/var/log/httpd/access_log common
|
||
# # Если
нужен файл протокола для агентов и рекомендателей -
|
||
# раскомментируйте
нижестоящие команды.
|
||
#
|
||
# CustomLog
/var/log/httpd/referer_log referer
|
||
# CustomLog
/var/log/httpd/agent_log agent
|
||
# Чтобы
использовался один общий файл для протоколирования доступа,
|
||
# агента
и рекомендателя (Комбинированный Файл Протокола) можно
|
||
# использовать
следующую команду.
|
||
#
|
||
# CustomLog
/var/log/httpd/access_log combined
|
||
#
|
||
# Можно
добавить строку, содержащую версию сервера
|
||
# и имя
виртуального хоста для страниц, сгенерированных
|
||
# сервером
(сообщения об ошибках,, списки ЕТР-каталогов,
|
||
# вывод
mod status и mod info и т.п.,
|
||
# но не
документы, сгенерированные CGi) .
|
||
# Задайте
значение "Email", чтобы также включить ссылку
|
||
# mailto:
на ServerAdmin.
|
||
# Задайте
одно из значений: On | Off | Email
|
||
#
|
||
ServerSignature
On
|
||
#
|
||
# Aliases:
Укажите здесь столько псевдонимов, сколько' необходимо
|
||
# (без
ограничения) . Формат следующий: Alias fakename realname
|
||
#
|
||
# Заметьте:
если завершить фиктивное имя fakename символом "/",
|
||
# то сервер
требует его присутствия в URL. Так, "/icons" не замещается
|
||
# в этом
примере.
|
||
#
|
||
Alias
/icons/ "/var/www/ icons/"
|
||
<Directory
" /var/www/ icons ">
|
||
Options
indexes multiViews
|
||
AllowOverride
None
|
||
Order
a 1 1 ow , deny
|
||
Allow
from all
|
||
</Directory>
|
||
#
|
||
# ScriptAlias:
Указывает каталоги, в которых находятся сценарии сервера.
|
||
# ScriptAliases
по сути представляют собой то же самое, что и Aliases,
|
||
# кроме
документов из каталога realname, которые интерпретируются
|
||
# как
приложения и запускаются сервером по запросу вместо отправки
|
||
# клиенту
в качестве документов .
|
||
# Правила
в отношении "/"/ описанные выше для Alias,
|
||
# справедливы
и для директив ScriptAlias .
|
||
#
|
||
ScriptAlias
/cgi-bin/ "/var/www/cgi-bin/ "
|
||
#
|
||
# "/var/www/cgi-bin"
следует заменить на CGi-каталог
|
||
# ScriptAliased,
если он существует и сконфигурирован.
|
||
#
|
||
<Directory
"/var/www/cgi-bin">
|
||
AllowOverride
None
|
||
Options
ExecCGi
|
||
Order
allow, deny
|
||
Allow
from all
|
||
</Directory>
|
||
# Redirect
позволяет указать клиентам те документы, которые раньше
|
||
# были
в вашем пространстве имен, а теперь отсутствуют. Это позволяет
|
||
# вам
сообщить клиентам, где можно найти перемещенный документ.
|
||
# Формат:
Redirect old-URi new-URL
|
||
#
|
||
#
|
||
# Директивы,
управляющие отображением листингов,
|
||
# сгенерированных
сервером.
|
||
#
|
||
#
|
||
# fancy
indexing указывает на тип индексирования .каталогов -
|
||
# узорчатый
или стандартный.
|
||
#
|
||
indexOptions
fancylndexing
|
||
#
|
||
# Addlcon
указывает серверу какие значки показывать для
|
||
# различных
файлов или расширений файлов. Они отображаются
|
||
# только
для проиндексированных fancylndexing каталогов.
|
||
#
|
||
AddlconbyEncoding
(CmP, /icons /compressed. gif) x-compress x-gzip
|
||
AddlconbyType
(TXT, /icons /text. gif) text/*
|
||
AddlconbyType
(imG, /icons /irnage2 .gif ) image/*
|
||
AddlconbyType
( SND , / icons / sound2
.gif)
audio / *
|
||
AddlconbyType
(ViD, /icons /movie.gif) video/*
|
||
Addlcon
/icons /binary. gif .bin .exe
|
||
Addlcon
/ icons /binhex. 'gif .hqx
|
||
Addlcon
/icons /tar. gif .tar
|
||
Addlcon
/icons /world2 .gif .wrl .wrl.gz .vrml .vrm .iv
|
||
Addlcon
/icons /compressed. gif .z .z .tgz .gz .zip
|
||
Addlcon
/icons /a. gif .ps .ai .eps
|
||
Addlcon
/icons /layout. gif .html .shtml .htm .pdf
|
||
Addlcon
/icons /text. gif . txt
|
||
Addlcon
/icons/c.gif .с
|
||
Addlcon
/icons/p.gif .pi .py
|
||
Addlcon
/ icons /f. gif .for
|
||
Addlcon
/icons/dvi.gif .dvi
|
||
Addlcon
/icons /uuencoded.gif .uu
|
||
Addlcon
/icons/script. gif .conf .sh . shar .csh . ksh .tcl
|
||
Addlcon
/ icons /tex. gif .tex
|
||
Addlcon
/icons /bomb. gif core
|
||
Addlcon
/icons /back. gif ..
|
||
Addlcon
/icons/hand. right. gif READmE
|
||
Addlcon
/icons /folder. gif ^^DiRECTORY^^
|
||
Addlcon
/icons /blank. gif ^^bLANKiCON^^
|
||
#
|
||
# Defaultlcon
указывает, какой значок .использовать для файлов,
|
||
# для
которых он явно не указан.
|
||
#
|
||
Defaultlcon
/icons/unknown. gif
|
||
# AddDescription
позволяет разместить краткое описание после.
|
||
# имени
файла в генерируемых сервером индексах.
|
||
# Формат:
AddDescription "описание" ИмяФайла
|
||
#
|
||
# AddDescription
"GZiP compressed document" . gz
|
||
# AddDescription
"tar archive" .tar
|
||
# AddDescription
"GZiP compressed tar archive" .tgz
|
||
#
|
||
#
|
||
# ReadmeName
- имя READmE-файла, которое сервер будет искать
|
||
# по умолчанию,
чтобы добавить к списку каталогов.
|
||
#
|
||
# HeaderName
- имя файла, которое сервер будет искать,
|
||
# чтобы
добавить к началу индекса каталогов.
|
||
#
|
||
# Сервер
сначала будет искать файл name.html и учтет его,
|
||
# если
найдет. Если этот файл не обнаружится, то будет
|
||
# выполнен
поиск файла name . txt . Если сервер найдет
|
||
# этот
файл, то включит его как текстовый файл.
|
||
#
|
||
ReadmeName
READmE
|
||
HeaderName
HEADER
|
||
#
|
||
# indexlgnore
- список имен файлов, игнорируемых
|
||
# при
индексировании каталога. Разрешается использование
|
||
# символов
подстановки в соответствии с синтаксисом оболочки.
|
||
#
|
||
indexlgnore
.??* *~ *# HEADER* READmE* RCS CVS *,v *,t
|
||
#
|
||
# AddEncoding
позволяет указать некоторым браузерам
|
||
# (mosaic/X
2.1+) распаковывать информация? на лету.
|
||
# Примечание
: не все браузеры это поддерживают .
|
||
# Несмотря на схожесть названий, следующие директивы Add*
# не оказывают
влияния на директивы настройки fancyindexing
# приведенные
выше. #
AddEncoding x-compress
Z AddEncoding x-gzip gz
#
# AddLanguage
позволяет указать язык, используемый в документе., Затем
# можно выполнить
согласование содержимого, чтобы вернуть браузеру файл
# использованием
понимаемого им языка. Заметьте: суффикс не обязан быт
# таким же, как
и ключевое слово языка - те, кто имеет документы на
# польском, для
которого стандартный сетевой код pi, могут использоват
# "AddLanguage
p1.ро" во избежание двусмысленности с таким же
# суффиксом для
сценариев perl. #
AdSLanguage en .en
AddLanguage fr .fr
AddLanguage de .de
AddLanguage da .da
AddLanguage el .el
AddLanguage it
.it
#
# LanguagePriority
позволяет назначить приоритет для некоторых
# языков на случай, если при согласовании содержимого не удастся
# достичь единого
мнения.
# Просто перечислите
языки в убывающем порядке предпочтения. #
LanguagePriority
en fr de
#
# AddType позволяет
откорректировать mime.types без их реальной
# модификации,
а также позволяет установить определенный тип
# для некоторых
файлов.
# Далее приведены
директивы для РНР4 (конфликт с PHP/fi, ниже): <ifmodule mod_php4.c>
AddType application/x-httpd-php .php4 .php3 .phtml .php
AddType application/x-httpd-php-source
.phps </ifmodule>
# Далее приведены
директивы для РНРЗ: <ifmodule mod_php3.c>
AddType application/x-httpd-php3 .php3
AddType application/x-httpd-php3-source
.phps </ifmodule>
# Далее приведены директивы для PHP/fi (PHP2):
<ifmodule mod_php.c>
AddType application/x-httpd-php
.phtml </ifmodule>
AddType application/x-tar
.tgz
# AddHandler позволяет
назначить некоторые расширения файлов
# "обработчикам",
действия которых не связанны с типом файлов.
# Их можно встроить
в сервер либо добавить командой Action (см. ниже). #
# Если вы хотите
использовать дополнения на сервере, или CGi вне
# каталогов ScriptAliased,
раскомментируйте следующие строки. #
# Для использования
сценариев CGi: #
AddHandler cgi-script
.cgi #
# Для использования
файлов HTmL, анализируемых сервером: #
AddType text/html
.shtml AddHandler server-parsed .shtml
#
# Раскомментируйте
следующую строку, чтобы разрешить
# использовать
свойство Apache "send-asis HTTP file" #
#AddHandler send-as-is
asis
#
# Для использования
файлов рисунков, анализируемых сервером: #
AddHandler imap-file
map #
# Чтобы разрешить
использование плат типов: #
#AddHandler type-map
var
# Action позволяет
указать типы источников, которые будут запускать
# сценарий при
указании соответствующего файла. Это позволяет
# избежать использования
повторяющихся URL в часто используемых
# процессорах
CGi-файлов.
# Формат: Action
media/type /cgi-script/location
i Формат: Action
handler-name /cgi-script/location #
# metaDir: указывает
имя каталога, в котором Apache может
# найти метафайлы.
Эти файлы содержат дополнительные HTTP-заголовки,
# включаемые в
документы при отправке.
# #metaDir .web
#
# metaSuffix:
указывает суффикс имен файлов, содержащих метаинформацию. #
# metaSuffix .meta
#
# Настраиваемые
ответные сообщения об ошибках (стиль Apache)
# имеется три
варианта #
# 1) обычный текст
# ErrorDocument
500 "The server made a boo boo.
# N.b.
Символ (") является признаком текста и не отображается
|
||
|
||
# 2) локальное
перенаправление
|
||
#ErrorDocument
404 /missing.html
|
||
# для
перенаправления на локальный URL /missing.html
|
||
#ErrorDocument
404 /cgi-bin/missing_handler .pi
|
||
# N.b.
Можно перенаправлять на сценарий или документ,
|
||
# используя
включения со стороны сервера.
|
||
#
|
||
# 3) внешнее
перенаправление
|
||
#ErrorDocument
402 http : / /some . other_server . com/subscription_inf о . html
|
||
# N.b.
Многие переменные окружения, связанные
|
||
# с исходным
запросом, в таком сценарии будут недоступны.
|
||
#
|
||
# Следующие
команды модифицируют обычную процедуру ответа HTTP.
|
||
# Первая
команда запрещает keepalive для Netscape 2.x и браузеров,
|
||
# которые
представляются как Netscape 2.x. Известны проблемы,
|
||
# связанные
с этим. Вторая команда - для microsoft internet
|
||
# Explorer
4.0Ь2, которая имеет неправильную реализацию НТТР/1.1
|
||
# и неправильно
поддерживает keepalive, когда эта опция
|
||
# используется
в ответах 301 и 302 (перенаправление) .
|
||
browsermatch
"mozilla/2" nokeepalive
|
||
browsermatch
"mSiE 4\.0b2; " nokeepalive downgrade- 1.0 force-response-
1. 0
|
||
#
|
||
# Следующие
команды запрещают ответы HTTP/1.1 браузерам,
|
||
# которые
нарушают спецификацию НТТР/1 отсутствием понимания самых
|
||
# простых
ответов 1.1.
|
||
#
|
||
browsermatch
"RealPlayer 4\.0" force-response-1 .0
|
||
browsermatch
"Java/l\.0" force-response-1 . 0
|
||
browsermatch
"ODK/iN.O" force-response-1 .0
|
||
# Если
модуль perl установлен, то следующие директивы выполнятся.
|
||
<ifmodule
mod_perl.c>
|
||
Alias
/perl/ /var/www/perl/
|
||
<Location
/perl>
|
||
SetHandler
perl-script
|
||
PerlHandler
Apache: : Registry
|
||
Options
+ExecCGi
|
||
</Location>
|
||
</ifmodule>
|
||
#
|
||
# Разрешает
http-размещение (наподобие публикации в Netscape Gold) .
|
||
# Используйте
htpasswd для генерации /etc/httpd/conf/passwd.
|
||
# Необходимо
раскомментировать эти две строки и в начале этого файла:
|
||
#
|
||
#Loadmodule
put_module modules /mod_put. so
|
||
#Addmodule
mod_put.c
|
||
#
|
||
#Alias
/upload /tmp
|
||
#<Location
/upload>
|
||
# EnablePut
On
|
||
# AuthType
basic
|
||
# AuthName
Temporary
|
||
# AuthUserfile
/etc/httpd/conf/passwd
|
||
# EnableDelete
Off
|
||
# umask
007
|
||
# <bimit
PUT>
|
||
# require
valid-user
|
||
# </Limit>
|
||
#</Location>
|
||
#
|
||
# Позволяет
серверу возвращать отчет, находящийся по URL
|
||
# Для
включения этого режима следует изменить
|
||
# ".your_domain.com"
на ваш домен.
|
||
#
|
||
#<Location
/server-status>
|
||
# SetHandler
server-status
|
||
# Order
deny, allow
|
||
# Deny
from all
|
||
# Allow
from .your_domain.com
|
||
#</Location>
|
||
# Позволяет
отчеты о конфигурации удаленного сервера
|
||
# с URL
http: //servername/server-info
|
||
# (необходимо,
чтобы mod info. с был загружен)
|
||
# Для
включения этого .режима следует изменить
|
||
# ".your_domain.com"
на ваш домен.
|
||
#
|
||
#<bocation
/server- info>
|
||
# SetHandler
server- info
|
||
# Order
deny, allow
|
||
# Deny
from all
|
||
# Allow
from .your_dpmain.com
|
||
#</Location>
|
||
# Разрешает
доступ к документам локального компьютера с localhost
|
||
Alias
/doc/ /usr/share/doc/
|
||
<Location
/doo
|
||
order
deny, allow
|
||
deny from
all
|
||
allow
from localhost
|
||
Options
indexes followSymLinks
|
||
</Location>
|
||
# Имеются
сообщения, что некоторые люди пытаются незаконно использовать
|
||
# старую
ошибку со времен версии 1.1. Эта ошибка была в сценарии CGi,
|
||
# поставлявшемся
как часть Apache. Сняв комментарии с этих строк, можно
|
||
# перенаправить
эти атаки на протоколирующий сценарий, который находится
|
||
# на phf.apache.org.
Или можно самостоятельно записывать их,
|
||
# используя
сценарий support/phf abuse log.cgi.
|
||
#
|
||
#<Location
/cgi-bin/phf*>
|
||
# Deny
from all
|
||
### Раздел З:
Виртуальные хосты
# VirtualHost:
Если вы хотите поддерживать несколько
# доменов/имен
хостов на вашем компьютере, можете задать
# для них контейнеры
VirtualHost. См. документацию по адресу
# <URL:
http://www.apache.org/docs/vhosts/
>
# для ознакомления с подробностями перед тем, как
# приступить к
установке виртуальных хостов.
# Можно использовать в командной строке опцию '-S', чтобы
# проверить конфигурацию
вашего виртуального хоста.
#
# Если вы хотите
использовать именованные виртуальные
# хосты, необходимо
определить, по крайней мере, один
# iP-адрес (и
номер порта) для них. #
#NameVirtualHost
12.34.56.78:80 #NameVirtualHost 12.34.56.78
#
|
||
# Пример
VirtualHost:
|
||
# Практически
любая директива Apache может вставляться в
|
||
# контейнер
VirtualHost .
|
||
#
|
||
# <VirtualHos
t ip . address . of . host . some_domain . com>
|
||
# ServerAdmin
webmasterShost .some_domain.com
|
||
# DocumentRoot
/www/docs/host . some_domain. com
|
||
# ServerName
host . some_domain . com
|
||
# ErrorLog
logs/host .some_domain.com-error_log
|
||
# CustomLog
logs /host. some_domain.com-access_log common
|
||
#</VirtualHost>
|
||
#<VirtualHost
_default_:*>
|
||
#</VirtualHost>
|
||
<if
Define HAVE_SSL>
|
||
##
|
||
## SSL
Virtual Host Context
|
||
##
|
||
# По умолчанию
Apache только слушает порт 80.
|
||
# Определение
виртуального сервера (см. ниже) не вызывает
|
||
# автоматического
прослушивания порта виртуального сервера.
|
||
Listen
443
|
||
<VirtualHost
_default_:443>
|
||
# Общая
установка виртуального хоста
|
||
DocumentRoot
"/var/www/html"
|
||
# SSL
Engine ключ:
|
||
# Разрешение/запрет
SSL для этого виртуального хоста.
|
||
SSLEngine
on
|
||
# SSL
шифры:
|
||
# Список
шифров, которые клиент может использовать.
|
||
# См.
в документе mod ssl полный список шифров.
|
||
#SSLCipherSuite
ALL: !ADH:RC4+RSA:+HiGH: +mEDiUm: +LOW: +SSLv2 : +EXP: +eNULL
|
||
# Сертификат
сервера:
|
||
# Адресует
SSLCertificatefile на РЕМ-кодированный сертификат.
|
||
# Если
сертификат зашифрован, появится запрос пароля.
|
||
# Обратите
внимание: kill -HUP- вызовет повторный запрос
|
||
# пароля.
Тестовый сертификат можно сгенерировать с помощью
|
||
# `make
certificate' в ходе построения. Если вы используете и
|
||
# RSA
и DSA сертификаты, то оба можно конфигурировать одновременно
|
||
# (чтобы
также разрешить использование шифров DSA и т.д.) .
|
||
SSLCertificatefile
/etc/httpd/conf /ssl .crt/server ,crt
|
||
#SSLCertif
icatefile /etc/httpd/conf /ssl . crt/server-dsa. crt
|
||
# Частный
ключ сервера:
|
||
# Если
ключ не объединен с сертификатом, используйте эту директиву,
|
||
# чтобы
указать файл ключа. Если вы используете и RSA и DSA
|
||
# сертификаты,
то оба можно конфигурировать одновременно
|
||
# (чтобы
также разрешить использование шифров DSA и т.д.) .
|
||
SSLCertif
icateKeyfile /etc/httpd/conf /ssl . key/server . key
|
||
#SSLCertificateKeyfile
/etc/httpd/conf /ssl. key/server-dsa. key
|
||
|
||
# Цепочка
сертификатов сервера :
|
||
# Адресует
SSLCertificateChainfile на файл, содержащий
|
||
# соединение
РЕМ- кодированных СА- сертификатов. Он
|
||
# формирует
цепочку сертификатов для серверного сертификата .
|
||
# Альтернатива:
указанный файл может быть тем же, что и файл
|
||
# SSLCertificatefile,
если СА-сертификаты, для удобства,
|
||
# непосредственно
связаны с серверным сертификатом.
|
||
#SSLCertificateChainfile
/etc/httpd/conf /ssl . crt/ca.crt
|
||
# Авторизация
сертификата (СА) :
|
||
# Задайте
пути верификации сертификата СА, т.е. место где
|
||
# можно
найти
сертификаты СА для аутентификации клиентов или
|
||
# один
большой файл, содержащий все сертификаты (файл должен
|
||
# быть
РЕМ-кодированным) .
|
||
# Внимание
: Внутри SSLCACertificatePath следует
|
||
# хешировать
ссылки на файлы сертификатов. Пользуйтесь
|
||
# makefile
для обновления хешированных ссылок после
|
||
# внесения
изменений.
|
||
#SSLCACertificatePath
/etc/httpd/conf /ssl. crt
|
||
#SSLCACertificatefile
/etc/httpd/conf /ssl. crt/ca-bundle. crt
|
||
# Список
отмененных сертификатов (CRL) :
|
||
# Задайте
путь отмененных СА, чтобы можно было найти список
|
||
# отмененных
СА для аутентификации клиентов или один большой файл,
|
||
# содержащий
все сертификаты (файл должен быть РЕМ-кодированным) .
|
||
# Внимание
: Внутри SSLCARevocationPath следует
|
||
# хешировать
ссылки на файлы сертификатов. Пользуйтесь
|
||
# makefile
для обновления хешированных ссылок после
|
||
# внесения
изменений.
|
||
#SSLCARevocationPath
/etc/httpd/conf /ssl . crl
|
||
#SSLCARevocationfile
/etc/httpd/conf /ssl . crl/ca-bundle. crl
|
||
# Аутентификация
клиента (тип) :
|
||
# Тип
и глубина верификации сертификатов клиентов. Типы:
|
||
# none,
optional, require и optional no ca. Глубина
|
||
# задается
как номер, который определяет, насколько глубоко
|
||
# следует
проверять цепочку издателя сертификата,
|
||
# чтобы
убедиться в негодности сертификата.
|
||
#SSLVerifyClient
require
|
||
#SSLVerifyDepth
10
|
||
# Контроль
доступа:
|
||
# Посредством
SSLRequire можно управлять доступом к каталогам,
|
||
# задавая
произвольные булевы выражения, содержащие обращения
|
||
# к серверным
переменным. Синтаксис выражений представляет собой
|
||
# нечто
среднее между С и Perl. Подробности см. в файле mod ssl.
|
||
#<Location
/>
|
||
#SSLReqUire
( %{SSL_CiPHER) ! ~ m/
n
(ЕХР |NULL) -/ \
|
||
# and
%{SSL_CLiENT_S_DN_O} eq "Snake Oil, Ltd." \
|
||
# and
%{SSL_CLiENT_S_DN_OU} in {"Staff", "CA", "Dev"}
\
|
||
# and
%{TimE_WDAY) >= 1 and %{TimE_WDAY} <= 5 \
|
||
# and
%{TimE_HOUR} >= 8 and %{TimE_HOUR} <= 20 ) \
|
||
tt or
%{REmOTE_ADDR) =~ m/
n
!92\ .76\ . 162\ . [0-9] +$/
|
||
#</Location>
|
||
# Опции
SSL Engine:
|
||
# Установка
различных опций SSL engine.
|
||
# о fakebasicAuth:
|
||
# Трансляция
клиента Х.509 в basic Authorisation.
|
||
# Это
значит, что для контроля доступа могут
|
||
# использоваться
стандартные методы Auth/DbmAuth.
|
||
# Имя
пользователя представляет собой однострочную версию
|
||
# клиентского
сертификата Х.509.
|
||
# Обратите
внимание, что от пользователя не требуется
|
||
# пароль.
Каждый ввод в пользовательском файле требует
|
||
# пароля:
~xxj31ZmTZzkVA' .
|
||
# о ExportCertData
:
|
||
# Экспортируются
две дополнительных переменных:
|
||
# SSL
CLiENT CERT и SSL_SERVER_CERT . Они
|
||
# содержат
РЕМ-кодированные сертификаты сервера
|
||
# (они
существуют всегда) и клиента (существуют
|
||
§
только, если используется аутентификация клиента) .
|
||
# Это
можно использовать для импорта сертификатов
|
||
# в CGi-
сценарии.
|
||
# о StdEnvVarc:
|
||
# Экспортируются
V
SSL *' переменные окружения,
|
||
# относящиеся
к стандартным SSL/TLS.
|
||
# По умолчанию
это экспортирование заблокировано из
|
||
# соображений
производительности, поскольку операция
|
||
# извлечения
относится к достаточно дорогим, и бесполезна
|
||
# для
обслуживания статического контента. Поэтому
|
||
# разрешение
выдается обычно только для CGi- и
|
||
# SSi-запросов.
|
||
# о CompatEnvVars
:
|
||
# Экспортируются
устаревшие переменные окружения
|
||
# для
совместимости со старыми версиями Apache-SSL 1.x,
|
||
# mod
ssl 2.0.x, Sioux 1.0 и Stronghold 2.x. Используйте
|
||
# для
совместимости с существующими CGi-сценариями.
|
||
# о StrictRequire:
|
||
# Запрещается
доступ, когда применяется "SSLRequireSSL"
|
||
f или
"SSLRequire", даже в ситуации "Satisfy any",
|
||
# т.е.
когда применяется эта опция, доступ запрещен
|
||
# и никакой
другой модуль изменить этого не может..
|
||
# OptRenegotiate:
|
||
# Разрешает
оптимизированную обработку SSL-соединения
|
||
# когда
SSL-директивы используются в контексте
|
||
# отдельного
каталога.
|
||
tSSLOptions
+fakebasicAuth +ExportCertData +CompatEnvVars +StrictRequire
|
||
<files
~ "\. (cgi|shtml)$">
|
||
SSLOptions
+StdEnvVars
|
||
</files>
|
||
<Directory
"/var/www/cgi-bin">
|
||
SSLOptions
+StdEnvVars
|
||
</Directory>
|
||
# Примечание:
Большинство проблем взлома клиентов
|
||
# связаны
с возможностями подтверждения активности
|
||
# HTTP
(keepalive) , поэтому следует запретить keepalive
|
||
# для этих клиентов.
Используйте для этого переменную
# "nokeepalive".
SetEnvif User-Agent
".*mSiE.*" nokeepalive ssl-unclean-shutdown
# Протокол для
каждого сервера:
# Место хранения пользовательского SSL файла протокола,
# Используйте эту
опцию, если нужен компактный файл
# протокола SSL (без ошибок) на виртуальном хосте.
CustomLog /var/log/httpd/ssl_request_log
\
"%t %h %{SSL_PROTOCOL}x
%{SSL_CiPHER}x \"%r\" %b"
</VirtualHost>
</ifDefine>
Заметьте: этот файл содержит
и комментарии, и реальные команды конфигурирования. Комментарии начинаются с
символа диеза (#). Команды состоят из имени команды, за которым следует параметр.
В файле httpd.conf три раздела: Global Environment, main Server Configuration и Virtual Hosts. Рассмотрим каждый из них подробно.