From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: From: AT To: mandrake-russian@altlinux.ru: Subject: Re: [mdk-re] Apache 1.3.20 - troubles with virtual hosts and more... Message-ID: <20010914222040.A9170@localhost.localdomain> References: <20010912181340.2e2a246b.ujo@zuzusoft.com> <7429403650.20010912183252@banana.ptt.ru> <20010914100245.6b9cef5a.ujo@zuzusoft.com> <20010914123819.15486e25.ujo@zuzusoft.com> <20010914185834.A1775@localhost.localdomain> <20010914194432.05ac9de9.ujo@zuzusoft.com> Mime-Version: 1.0 Content-Type: text/plain; charset=koi8-r Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20010914194432.05ac9de9.ujo@zuzusoft.com>; from ujo@zuzusoft.com on Fri, Sep 14, 2001 at 07:44:32PM +0400 Resent-From: alexey_tourbin@mail.ru Resent-Date: Tue, 18 Sep 2001 05:26:07 +0400 Resent-To: Linux-Mandrake RE Resent-Message-Id: <20010918012607.CF5559DBAB@localhost.localdomain> Sender: mandrake-russian-admin@altlinux.ru Errors-To: mandrake-russian-admin@altlinux.ru X-BeenThere: mandrake-russian@altlinux.ru X-Mailman-Version: 2.0 Precedence: bulk Reply-To: mandrake-russian@altlinux.ru List-Help: List-Post: List-Subscribe: , List-Id: Linux-Mandrake RE / ALT Linux discussion list List-Unsubscribe: , List-Archive: Date: Tue Sep 18 05:57:01 2001 X-Original-Date: Fri, 14 Sep 2001 22:20:40 +0400 Archived-At: List-Archive: List-Post: > > В документации (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