Сервер Apache позволяет использовать несколько доменных имен для доступа к одному серверу, например:

ServerAlias www.dhsilabs.com www2.dhsilabs.com

При этом запросы, посланные по IP-адресам, которые присвоены вашим виртуальным узлам, должны соответствовать одному из указанных доменных имен. Чтобы зафиксировать запросы, не соответствующие ни одному из этих имен, нужно с помощью опции default:* создать виртуальный узел, который будет обслуживать такие запросы:

<p>16.9.2. Виртуальные серверы с идентификацией по IP-адресу</p>

В директиве VirtualHost в качестве адресов можно использовать доменные имена, но лучше указывать IP-адрес, причем действительный, а не виртуальный. В этом случае вы не будете зависеть от DNS при разрешении имени. Также потребуется один IP-адрес для вашего основного сервера. Если же распределить все адреса между виртуальными серверами, то нельзя будет получить доступ к основному серверу.

Листинг 16.11. Идентификация по IP-адресу

 ServerName www.dhsilabs.com

 ServerAdmin webmaster@den.dhsilabs.com

 DocumentRoot /var/httpd/www/html

 ErrorLog /var/https/www/logs/error.log

 ServerName lib.dhsilabs.com

 ServerAdmin webmaster@den.dhsilabs.com

 DocumentRoot /var/httpd/lib/html

 ErrorLog /var/https/lib/logs/error.log

При конфигурировании виртуальных серверов можно использовать опцию ExecCGI, которая разрешает выполнение CGI-сценариев на виртуальном сервере. Листинги 16.12 и 16.13 демонстрируют настройку почтового веб-интерфейса.

Листинг 16.12. Файл httpd.conf

order deny,allow

deny from all

allow from localhost

allow from 192.168

allow from 123.123.123.123

Options ExecCGI

Листинг 16.13. Файл vhosts.conf

 ServerAdmin webmaster@den.dhsilabs.com

 DocumentRoot /home/httpd/mail

 ServerPath /mail

 ServerName wwwmail.dhsilabs.com

 ErrorLog logs/error_log

 TransferLog logs/access_log

 # Error 403 - ошибка доступа извне, то есть почтовый

 # интерфейс будет доступен только из локальной сети

 ErrorDocument 403 http://www.dhsilabs.com/messages/error403.html

<p>16.10. SSL и Apache</p><p>16.10.1. Установка SSL</p>

SSL (Secure Sockets Layer) является методом шифрования, разработанным компанией Netscape для обеспечения безопасности передачи данных. Этот метод поддерживает несколько методов шифрования и обеспечивает аутентификацию как на уровне клиента, так и на уровне сервера, SSL работает на транспортном уровне и поэтому обеспечивает надежное шифрование всех типов данных. Более подробно о реализации SSL можно прочитать на сайте компании Netscape — http://home.netscape.com/info/security-doc.html.

Протокол S-HTTP является еще одним «безопасным» интернет-протоколом. Он был разработан для предоставления конфиденциальности данных, передаваемых через соединение. Конфиденциальность нужна, например, при передаче номеров кредитных карточек и прочей важной информации.

Модуль mod_ssl реализует в сервере Apache слой SSL, который осуществляет шифрование всего потока данных между клиентом и сервером. Для всех остальных частей веб-сервера модуль mod_ssl является прозрачным. Для работы в этом режиме требуется браузер, поддерживающий механизм SSL (этому условию удовлетворяют все распространенные сегодня браузеры).

Что касается установки, то вам необходим пакет OpenSSL (http://www.openssl.org), хотя, возможно, у вас в системе уже установлен этот пакет (в современных дистрибутивах он устанавливается по умолчанию). Если вы будете собирать OpenSSL из исходных текстов, то последовательность ваших действий такая:

# tar zxvf openssl-x.y.z.tar.gz # x.y.z - номер версии

# cd openssl-x.y.z

# ./config.

# make

# make install

# ldconfig

Перед выполнением команды ldconfig убедитесь, что в файле /etc/ld.so.conf прописан путь к библиотекам OpenSSL (по умолчанию это /usr/local/ssl/lib).

<p>16.10.2. Подключение SSL к Apache</p>
Перейти на страницу:

Все книги серии Полное руководство

Похожие книги