Раздел 3. Документация по виртуальному хосту Apache RU EN Пункт 28. Виртуальные хосты на основе имен В этом документе описывается, когда и как использовать виртуальные хосты на основе имен. Виртуальные хосты на основе имени и на основе IPВиртуальные хосты на основе IP используют IP-адрес подключения для определения правильного обслуживаемого виртуального хоста. Поэтому вам нужно иметь отдельный IP-адрес для каждого хоста. При виртуальном хостинге на основе имени сервер полагается на то, что клиент сообщает имя хоста как часть заголовков HTTP. Используя этот метод, многие разные хосты могут использовать один и тот же IP-адрес. Виртуальный хостинг на основе имени обычно проще, поскольку вам нужно только настроить DNS-сервер для сопоставления каждого имени хоста с правильным IP-адресом, а затем настроить HTTP-сервер Apache для распознавания разных имен хостов. Виртуальный хостинг на основе имени также снижает потребность в дефицитных IP-адресах. Поэтому вам следует использовать виртуальный хостинг на основе имени, если только вы не используете оборудование, которое явно требует хостинга на основе IP. Исторические причины виртуального хостинга на основе IP, основанного на поддержке клиентов, больше не применимы к веб-серверу общего назначения. Виртуальный хостинг на основе имени основан на алгоритме выбора виртуального хоста на основе IP, что означает, что поиск правильного имени сервера происходит только между виртуальными хостами, которые имеют лучший IP-адрес. Как сервер выбирает правильный виртуальный хост на основе имениВажно понимать, что первым шагом в разрешении виртуальных хостов на основе имени является разрешение на основе IP. Разрешение виртуального хоста на основе имени выбирает только наиболее подходящий виртуальный хост на основе имени после сужения кандидатов до наилучшего совпадения на основе IP. Использование подстановочного знака (*) для IP-адреса во всех директивах VirtualHost делает это сопоставление на основе IP неактуальным. Когда поступает запрос, сервер находит лучший (наиболее конкретный) соответствующий
Если вы опустите Виртуальный хост по умолчанию на основе имени для комбинации IP и портаЕсли в наборе виртуальных хостов, содержащих наиболее конкретную совпадающую комбинацию IP-адреса и порта, не найдено подходящего имени сервера или псевдонима сервера, то будет использоваться первый виртуальный хост из списка , который соответствует этому. Использование виртуальных хостов на основе имен
Первый шаг — создать Главный хозяин уходитЛюбой запрос, который не соответствует существующему, Когда вы добавляете виртуальный хост на основе имени к существующему серверу, а аргументы виртуального хоста соответствуют ранее существовавшим комбинациям IP-адреса и порта, запросы теперь будут обрабатываться явным виртуальным хостом. В этом случае обычно целесообразно создать виртуальный хост по умолчанию, соответствующий Наследование имени сервераЛучше всегда явно указывать a Если a Например, предположим, что вы обслуживаете домен
<Виртуальный хост *:80> # Этот первый виртуальный хост также используется по умолчанию для *:80 Имя сервера www.example.com Псевдоним сервера example.com DocumentRoot "/www/домен" </ виртуальный хост> <Виртуальный хост *:80> Имя_сервера other.example.com DocumentRoot "/www/otherdomain" </ виртуальный хост> В качестве альтернативы вы можете указать явный IP-адрес вместо
директив Многие серверы хотят быть доступными более чем по одному имени. Это возможно с помощью Псевдоним сервера example.com *.example.com тогда запросы для всех хостов в Виртуальные хосты на основе имен для наиболее подходящего набора Полный список имен в Наконец, вы можете точно настроить конфигурацию виртуальных хостов, разместив другие директивы внутри контейнеров |