ПРОЕКТЫ 


  АРХИВ 


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 Wednesday, October 29, 2008 at 15:59:23, MZ wrote:

M> Можете считать мене непрофессионалом, но я ожидаю что веб-сервер
M> который заявляет что *:80 будет матчить запросы для указанного
M> server_name для всех ипов будет действительно их матчить,
M> а не игнорировать после добавления нового виртхоста.

алгоритм работы у listen такой же как и у server_name - сначала
ищется полное соответствие, и если его нет, тогда проверяется *.

M> И лично я не вижу никаких причин почему запрос пришедший
M> не в wildcard-сокет должен игнорировать виртхосты с *:80,
M> если отвлечься от того, как устроены сокеты.

потому что кроме name-based virtual-host`ов есть еще и ip-based.
и для них поле заголовка "Host:" - вообще должно игнорироваться.

поскольку явной директивы для разделения виртуальных хостов
на ip-based и name-based в nginx нет, остается только listen.

M> Все-таки дело имеется с http-запросами, в которых кроме всякого
M> присутствуют и заголовки, такие как Host: . Так что теперь,
M> раз у нас есть сокеты то наплевать на http-протокол ?

http-протоколы бывают разные. в версии 0.9 поля Host: вообще нет.
поэтому не надо чинить то, что не сломалось и нормально работает.

M> Кто-нибудь сможет привести реальный пример
M> когда требуется именно такое поведение как сейчас?

сейчас директива listen *:port означает "все остальные ip:port,
кроме явно определенных в других директивах server", и это имеет
смысл и дает возможность для маневра, когда часть ip - динамические.

если сделать предлагаемые изменения, тогда listen *:port
превращается в syntactic sugar, обычную макроподстановку,
и внутренне будет замещаться на список всех ip адресов.

если конфиг nginx стал таким большим и сложным, что приходится
тратить много времени и сил на поддержание его в актуальном состоянии,


-- 
Best regards,
 Gena




 




Copyright © Lexa Software, 1996-2009.