ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: server_name bug



On 31.10.08 00:19, Alex Vorona wrote:
22.10.2008 16:06, MZ wrote:
В ср, 22/10/2008 в 16:25 +0400, Igor Sysoev пишет:
Проблема в том, что две нижеприведённые конфигурации должны работать
одинаково:

server {
listen *:80;
server_name example.org;
}
server {
listen 1.2.3.4:80;
server_name default;
}


server {
listen *:80 default rcvbuf=16k;
server_name example.org;
}
server {
listen 1.2.3.4:80 default rcvbuf=8k;
server_name default;
}

И они сейчас работают одинаково, несмотря на то, что в первом случае
используется один сокет, а во втором - два.

Это не проблема, в обоих конфигурациях меняются только параметры
слушающих сокетов, а конфигурация виртхостов сохраняется идентичной и
таковой, что http-запрос с Host: example.org соответствует первому
виртхосту а не второму.

во втором случае http-запрос на IP 1.2.3.4 с Host: example.org попадёт в
сокет 1.2.3.4:80 с его rcvbuf=8k. Как в этом случае отработать этот
запрос в первом виртхосте с его сокетом с rcvbuf=16k?

Сначала выбираем все server, для которых прописан listen 1.2.3.4:80 и/или listen *:80, затем среди них ищем наиболее точное совпадение Host: с указанными значениями server_name. И только если подходящего варианта не найдено используем server_name default.

Так разве не будет работать?

--
Best regards,
Eugene Janusov.



 




Copyright © Lexa Software, 1996-2009.