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
|