[mdk-re] Apache 1.3.20 - troubles with virtual hosts and more...

AT =?iso-8859-1?q?alexey=5Ftourbin_=CE=C1_mail=2Eru?=
Вт Сен 18 05:57:01 MSD 2001


> > В документации (manual/vhost/details.html) написано:
> > 
> >    Unless a NameVirtualHost directive is used for a specific IP
> > address
> >    the first vhost with that address is treated as an IP-based
> > vhost.
> >    In 1.3.13 and later that includes the IP address *.
> > 
> По IP адресам... Не хотелось... Кстати, вылечилось прописанием

Нет, вы меня неправильно поняли. Именно на одном IP-адресе, который указан
во всех виртуальных хостах в качестве VirtualHost. И имени хоста в
ServerName. 

> директив NameVirtualHost <имя>. Опять же, после пересборки. То

В приведённой цитате как раз и сказано, что если нет директивы
NameVirtualHost, то первый попавшийся VirtualHost будет отвечать на любые
запросы по соответствующему IP-адресу.

В Апаче, по правде говоря, несколько запутанная концепция виртуальных
хостов -- слишком много неочевидных правил по умолчанию и т.п. 

Всё, что нужно понять, что на самом деле нет никаких "виртуальных
серверов", есть только один TCP сокет который слушает соединения на 80
порту. И есть поле Host в заголовке HTTP запроса, по которому апач
определяет, на какой vhost этот запрос перебрасывать.

Но из-за того, что апач умеет bind'иться на несколько адресов и слушать по
нескольким портам (для каждой пары IP+Port создается отдельный сокет),
алгоритм усложняется:

Если для данного сокета (IP+Port) есть директива NameVirtualHost, то
проходим *по всем* виртуальным хостам и смотрим:

	1) Удовлетворяют ли данный хост требованию IP+Port. Здесь может быть
	сделан	лишний DNS resolve, если в хосте явно не указан IP-адрес (см.
	документацию).

	2) Соответствует ли имя хоста HTTP заголовку Host.

Если же для сокета не находится NameVirtualHost, то Апач ограничивается
только первым этапом. Что и происходило в Вашем случае. Или вроде того.

> есть, по сути дела конфиги те же, spec тот же а результат
> разный. Теперь еще и apt ругается.

Апач по древней и священной традиции следует собирать из тарболла. ;)

__
AT




Подробная информация о списке рассылки community