Apache. Документация на русском


Разделы:   1    2      3      4    5    6    7    8    9    10    11    12    13    14    15    16  

Раздел 3. Документация по виртуальному хосту Apache

Пункты:   28      29      30    31    32    33  

 <         > 
  RU            EN  

Пункт 29. Поддержка виртуального хоста на базе IP

Виртуальный хостинг на основе IP — это метод применения различных директив в зависимости от IP-адреса и порта, на который получен запрос. Чаще всего это используется для обслуживания разных веб-сайтов на разных портах или интерфейсах.

Во многих случаях виртуальные хосты на основе имени более удобны, потому что они позволяют нескольким виртуальным хостам совместно использовать один адрес/порт. См. Виртуальные хосты на основе имени и на основе IP, чтобы помочь вам принять решение.

Системные Требования

Как указывает термин «на основе IP» , сервер должен иметь разные комбинации IP-адреса/порта для каждого виртуального хоста на основе IP . Это может быть достигнуто с помощью машины, имеющей несколько физических сетевых подключений, или с помощью виртуальных интерфейсов, которые поддерживаются большинством современных операционных систем (подробности см. в системной документации, их часто называют «псевдонимами ip», а команду «ifconfig» можно чаще всего используется для их настройки) и/или с использованием нескольких номеров портов.

В терминологии HTTP-сервера Apache использование одного IP-адреса, но нескольких портов TCP также является виртуальным хостингом на основе IP.

Как настроить Апач

Существует два способа настройки Apache для поддержки нескольких хостов. Либо запустив отдельный httpd демон для каждого имени хоста, либо запустив один демон, который поддерживает все виртуальные хосты.

Используйте несколько демонов, когда:

  • Существуют проблемы с разделением безопасности, например, компания 1 не хочет, чтобы кто-либо в компании 2 мог читать их данные, кроме как через Интернет. В этом случае вам понадобятся два демона, каждый из которых работает с разными настройками User , Group , Listen и ServerRoot .
  • Вы можете позволить себе требования к памяти и файловому дескриптору для прослушивания каждого псевдонима IP на машине. Это возможно только на Listen «шаблонный» адрес или на определенные адреса. Поэтому, если вам по какой-то причине нужно прослушать определенный адрес, вам нужно будет прослушать все конкретные адреса. (Хотя один httpd мог прослушать N-1 из адресов, а другой мог прослушать оставшийся адрес.)

Используйте один демон, когда:

  • Совместное использование конфигурации httpd между виртуальными хостами допустимо.
  • Машина обслуживает большое количество запросов, поэтому потеря производительности при запуске отдельных демонов может быть значительной.

Настройка нескольких демонов

Создайте отдельную httpd установку для каждого виртуального хоста. Для каждой установки используйте Listen директиву в файле конфигурации, чтобы выбрать IP-адрес (или виртуальный хост), который обслуживает демон. например

 Прослушать 192.0.2.100:80 

Рекомендуется использовать IP-адрес вместо имени хоста (см. предостережения относительно DNS).

Настройка одного демона с виртуальными хостами

В этом случае один httpd будет обслуживать запросы к основному серверу и всем виртуальным хостам. Директива VirtualHost в файле конфигурации используется для установки значений ServerAdmin , ServerName , и / или директив конфигурации в разные значения для каждого виртуального хоста DocumentRoot . например ErrorLog TransferLog CustomLog

 <Виртуальный хост 172.20.30.40:80>
 Администратор сервера webmaster@www1.example.com
 DocumentRoot "/www/vhosts/www1"
 Имя сервера www1.example.com
 ErrorLog "/www/logs/www1/error_log"
 CustomLog "/www/logs/www1/access_log" в сочетании
</ виртуальный хост>
<Виртуальный хост 172.20.30.50:80>
 Администратор сервера webmaster@www2.example.org
 DocumentRoot "/www/vhosts/www2"
 Имя сервера www2.example.org
 ErrorLog "/www/logs/www2/error_log"
 CustomLog "/www/logs/www2/access_log" в сочетании
</ виртуальный хост> 

Рекомендуется использовать IP-адрес вместо имени хоста в директиве <VirtualHost> (см. предостережения относительно DNS).

Определенные IP-адреса или порты имеют приоритет над их эквивалентами с подстановочными знаками, и любой виртуальный хост, который соответствует, имеет приоритет над базовой конфигурацией серверов.

Практически любую директиву конфигурации можно поместить в директиву VirtualHost, за исключением директив, управляющих созданием процессов, и нескольких других директив. Чтобы узнать, можно ли использовать директиву в директиве VirtualHost, проверьте контекст, используя индекс директивы.

SuexecUserGroup может использоваться внутри директивы VirtualHost, если используется оболочка suEXEC.

БЕЗОПАСНОСТЬ: При указании места для записи файлов журнала помните о некоторых угрозах безопасности, которые присутствуют, если кто-либо, кроме пользователя, запускающего Apache, имеет доступ для записи в каталог, в который они записываются. Дополнительные сведения см. в документе с советами по безопасности.



 <         > 

Пункты:   28      29      30    31    32    33  

Рейтинг@Mail.ru