ПРОЕКТЫ 


  АРХИВ 


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 22, 2008 at 16:06:44, MZ wrote:

>> 1.2.3.4:80 - более приоритетен, чем *:80.
>> *:80 - это fallbacki, default route.

M> приоритет должен быть у того виртхоста
M> у которого подходящий server_name и listen,
M> а не тот у которого подходящий только listen.

сначала выбираются по listen, потом выбираются по server_name.

M> И это проблема реализации не сокетов,
M> а nginx-а, который выбирает неправильный виртхост.

смотрим доку:

http://sysoev.ru/nginx/docs/http/ngx_http_core_module.html#server_name

Порядок проверки имён следующий:

    * полные имена,
    * имена с маской в начале имени ? *.example.com,
    * имена с маской в конце имени ? mail.*,
    * регулярные выражения.

точно так же работает и порядок проверки ip-адресов,
сначала ищем точное соответствие, потом - идем на *.

M> Nginx не должен игнорировать виртхосты  с *:80 только потому
M> что есть виртхосты с конкретно указанным ипом  в listen.

virtual host`ы бывают разные: ip-based и name-based.

в apache - есть директива NameVirtualHost и жесткое разделение
ip адресов на принадлежность тому или иному типу виртуалхостов.

в nginx такого явного разделения нет, виртуальные хосты более
гибко настраиваются с помощью директив listen и server_name.

-- 
Best regards,
 Gena




 




Copyright © Lexa Software, 1996-2009.