Виртуальные узлы
Виртуальный хостинг заключается в поддержке на одном реальном сервере множества Web-сайтов с разными доменными именами или IP-адресами. Воз- можность предоставления различных Web-страниц в зависимости от номера пор- та, к которому обращается клиент, также относится к виртуальному хостингу.
В рамках данной книги рассматривается лишь организация виртуальных уз- лов на основе их имен (Name Based Virtual Hosting).
Для организации виртуальных узлов, базирующихся на именах, необходимы две вещи. Во-первых, чтобы с IP-адресом узла, на котором запущен сервер Apache, были связаны желаемые доменные имена виртуальных узлов. Дости- гается это с помощью псевдонимов доменной системы имен DNS, которые реализуются записями CNAME в файлах описания зон DNS (см. главу 26, по- священную DNS).
Во-вторых, описания виртуальных узлов должны присутствовать в файле конфигурации Apache или же быть загружены из отдельного файла, что удобно в случае наличия большого количества виртуальных узлов.
Предположим, что с помощью CNAME-записей на сервере DNS для компьюте- ра comp1.class.edu имеются два имени с одним IP-адресом (пример 28.15).
Пример 28.15. Записи CNAME в зоне прямого отображения DNS |
www.class.edu. IN CNAME comp1.class.edu. web.class.edu. IN CNAME comp1.class.edu.
В примере 28.16 приведены директивы конфигурации Apache, позволяющие получать те или иные Web-страницы в зависимости от доменного имени це- левого сайта.
Пример 28.16. Виртуальные хосты |
NameVirtualHost *:80
<VirtualHost *:80> ServerName www.class.edu
DocumentRoot /www/www.class.edu
</VirtualHost>
<VirtualHost *:80> ServerName web.class.edu
DocumentRoot /www/web.class.edu
</VirtualHost>
Легко заметить, что в двух этих контейнерах с помощью директив ServerName задается имя виртуального узла, а директивы DocumentRoot задают место- положение Web-документов этих сайтов — каталоги /www/www.class.edu и /www/web.class.edu.
Директива NameVirtualHost *:80 сообщает серверу, что виртуальные узлы не должны быть связаны с конкретным IP-адресом, но они будут доступны по порту 80. В контейнерах <VirtualHost *:80> звездочка указана, посколь- ку в данном случае используется виртуальный хостинг на основе имен.
Дата добавления: 2015-06-12; просмотров: 867;