Раздел 3. Документация по виртуальному хосту Apache RU EN Пункт 29. Поддержка виртуального хоста на базе IP Виртуальный хостинг на основе IP — это метод применения различных директив в зависимости от IP-адреса и порта, на который получен запрос. Чаще всего это используется для обслуживания разных веб-сайтов на разных портах или интерфейсах. Во многих случаях виртуальные хосты на основе имени более удобны, потому что они позволяют нескольким виртуальным хостам совместно использовать один адрес/порт. См. Виртуальные хосты на основе имени и на основе IP, чтобы помочь вам принять решение. Системные ТребованияКак указывает термин «на основе IP» , сервер должен иметь разные комбинации IP-адреса/порта для каждого виртуального хоста на основе IP . Это может быть достигнуто с помощью машины, имеющей несколько физических сетевых подключений, или с помощью виртуальных интерфейсов, которые поддерживаются большинством современных операционных систем (подробности см. в системной документации, их часто называют «псевдонимами ip», а команду «ifconfig» можно чаще всего используется для их настройки) и/или с использованием нескольких номеров портов. В терминологии HTTP-сервера Apache использование одного IP-адреса, но нескольких портов TCP также является виртуальным хостингом на основе IP. Как настроить АпачСуществует два способа настройки Apache для поддержки нескольких хостов. Либо запустив отдельный Используйте несколько демонов, когда:
Используйте один демон, когда:
Настройка нескольких демоновСоздайте отдельную Прослушать 192.0.2.100:80 Рекомендуется использовать IP-адрес вместо имени хоста (см. предостережения относительно DNS). Настройка одного демона с виртуальными хостамиВ этом случае один <Виртуальный хост 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, проверьте контекст, используя индекс директивы. БЕЗОПАСНОСТЬ: При указании места для записи файлов журнала помните о некоторых угрозах безопасности, которые присутствуют, если кто-либо, кроме пользователя, запускающего Apache, имеет доступ для записи в каталог, в который они записываются. Дополнительные сведения см. в документе с советами по безопасности. |