25.3. Параметры виртуальных узлов

Виртуальные узлы позволяют вам реализовывать разные серверы для разных IP-адресов, имен узлов или портов на одном и том же компьютере. Например, используя виртуальные узлы вы можете запустить сайты http://www.example.com и http://www.anotherexample.com на одном веб-сервере. Этот параметр соответствует указанию <VirtualHost> для виртуального узла по умолчанию и узлов, определяемых по IP-адресу. Он также соответствует указанию <NameVirtualHost> для виртуальных узлов, определяемых по доменному имени.

Указания, определённые для конкретного виртуального узла, относятся только к нему одному. Если указание определено для всего сервера с помощью кнопки Изменить параметры по умолчанию (Edit Default Settings) и не определено в настройках виртуального узла, в результате будет использован параметр по умолчанию. Например, вы можете определить значение параметра Электронный адрес вебмастера (Webmaster email address) на вкладке Основные (Main) и не задавать его отдельно для каждого виртуального узла.

Средство Настройка сервера HTTP (HTTP Configuration Tool) содержит виртуальный узел по умолчанию, как показано на рисунке 25-8.

Рисунок 25-8. Виртуальные узлы

Дополнительные сведения о виртуальных узлах представлены в документации к HTTP-серверу Apache и по адресу http://httpd.apache.org/docs-2.0/vhosts/.

25.3.1. Добавление и редактирование виртуальных узлов

Чтобы добавить виртуальный узел, перейдите на вкладку Виртуальные узлы (Virtual Hosts) и нажмите кнопку Добавить (Add). Вы также можете отредактировать виртуальный узел, выбрав его в списке и нажав кнопку Изменить (Edit).

25.3.1.1. Общие параметры

Настройки на вкладке Общие параметры (General Options) применяются только к виртуальному узлу, который вы настраиваете. Определите имя виртуального узла в текстовой области Название виртуального узла (Virtual Host Name). Это имя используется средством Настройка сервера HTTP для различения виртуальных узлов.

В поле Корневой каталог (Document Root Directory) задаётся имя каталога, содержащего корневой документ (например, index.html) виртуального узла. Этот параметр соответствует указанию DocumentRoot, размещённому внутри указания <VirtualHost>. По умолчанию DocumentRoot имеет значение /var/www/html.

Параметр Электронный адрес вебмастера (Webmaster email address) соответствует указанию ServerAdmin, помещённому внутрь директивы VirtualHost. Этот электронный адрес будет отображаться в нижнем колонтитуле страниц об ошибках, если вы решите отображать этот колонтитул с электронным адресом.

В разделе Информация об узле (Host Information) определите Виртуальный сервер по умолчанию (Default Virtual Host), Виртуальный узел с постоянным IP-адресом (IP based Virtual Host) или Виртуальный сервер с постоянным именем (Name based Virtual Host).

Виртуальный сервер по умолчанию

Вам следует настраивать только один виртуальный сервер по умолчанию (помните, что по умолчанию один настроен). Параметры виртуального узла по умолчанию используются, если запрашиваемый IP-адрес не относится к другому виртуальному узлу. Если виртуальный узел по умолчанию не определён, используются основные параметры сервера.

Виртуальный узел с постоянным IP-адресом

Если вы выберете вариант Виртуальный узел с постоянным IP-адресом (IP based Virtual Host), на экране появится окно для настройки указания <VirtualHost>, привязанного к IP-адресу сервера. Укажите этот адрес в поле IP-адрес (IP address). Чтобы указать несколько IP-адресов, разделите их пробелами. Указать порт можно, используя запись IP-адрес:порт. Используйте сочетание «двоеточие, звёздочка» (:*), чтобы задать для данного IP-адреса все порты. Введите имя сервера для виртуального узла в поле Название сервера узла (Server Host Name).

Виртуальный узел с постоянным именем

Если вы выберете вариант Виртуальный узел с постоянным именем (Name based Virtual Host), на экране появится окно для настройки указания NameVirtualHost, привязанного к имени узла сервера. Укажите адрес в поле IP-адрес (IP address). Чтобы указать несколько IP-адресов, разделите их пробелами. Указать порт можно, используя запись IP-адрес:порт. Используйте сочетание «двоеточие, звёздочка» (:*), чтобы задать для данного IP-адреса все порты. Введите имя сервера для виртуального узла в поле Название сервера узла (Server Host Name). В разделе Псевдонимы (Aliases) нажмите Добавить (Add), чтобы добавить псевдоним имени узла. Добавление здесь псевдонима приводит к добавлению указания ServerAlias внутрь указания NameVirtualHost.

25.3.1.2. SSL

ЗамечаниеЗамечание
 

Вы не сможете использовать виртуальные узлы, определяемые по имени, с SSL, так как SSL-согласование (когда обозреватель принимает защищенный сертификат веб-сервера) происходит до получения HTTP-запроса, определяющего имя соответствующего виртуального узла. Если вы планируете использовать виртуальные узлы, определяемые по имени, они будут работать только с не защищённым веб-сервером.

Рисунок 25-9. Поддержка SSL

Если в вашем HTTP-сервере Apache не настроена поддержка SSL, соединения между ним и его клиентами шифроваться не будут. Это подходит для сайтов, не содержащих личной или конфиденциальной информации. Например, сайт, распространяющий открытые исходные тексты программного обеспечения и документацию, очевидно, не нуждается в защите соединений. Напротив, коммерческие сайты, получающие информацию о кредитных картах, должны использовать поддержку SSL в Apache, чтобы шифровать соединения. Включение поддержки SSL в Apache означает, что будет использоваться модуль безопасности mod_ssl. Чтобы включить его в средстве Настройка сервера HTTP, вы должны разрешить доступ к порту 443 на вкладке Основные (Main) => Доступные адреса (Available Addresses). За подробностями обратитесь к разделу 25.1 Основные параметры. Затем, на вкладке Виртуальные узлы (Virtual Hosts) выделите имя виртуального узла, нажмите кнопку Изменить (Edit), выберите в расположенном слева меню SSL, а затем установите флажок Включить поддержку SSL (Enable SSL Support), как показано на рисунке 25-9. В разделе Конфигурация SSL (SSL Configuration) отображаются настройки с фиктивным цифровым сертификатом. Цифровой сертификат подтверждает подлинность вашего защищенного веб-сервера и идентифицирует сервер для браузеров клиентов. Вы должны приобрести свой собственный цифровой сертификат. Не используйте для своего сайта этот фиктивный сертификат. Информацию о приобретении CA цифрового сертификата вы можете найти в главе 26 Настройка безопасного HTTP-сервера Apache.

25.3.1.3. Дополнительные параметры виртуальных узлов

Параметры Конфигурация сайта (Site Configuration), Переменные окружения (Environment Variables) и Каталоги (Directories ) для виртуальных узлов аналогичны параметрам, которые вы задавали, нажимая кнопку Изменить параметры по умолчанию (Edit Default Settings), за исключением того, что текущие параметры определяются только для отдельных виртуальных узлов. Подробное описание этих параметров приведено в разделе 25.2 Параметры по умолчанию.