Re: Маска в server name
Maxim Dounin
mdounin at mdounin.ru
Thu Dec 13 13:01:10 UTC 2012
Hello!
On Thu, Dec 13, 2012 at 06:13:06AM -0500, dga65 wrote:
> Чего - то я недосоображаю.
> В таком варианте - не работает.
>
> server {
> <------><------>listen 80;
> <------><------>server_name *.dev.sample.com;
> <------><------>location = /robots.txt {
> <------><------>root /home;
> <------><------>}
> <------>}
>
> В таком - работает.
>
> server {
> <------><------>listen 80;
> <------><------>server_name hotel.rexx.dev.sample.com;
> <------><------>location = /robots.txt {
> <------><------>root /home;
> <------><------>}
> <------>}
>
> Очевидно проблема в обработке маски, я уже перерыл ман
> http://nginx.org/ru/docs/http/server_names.html - не могу понять в чем дело.
В чём заключается "не работает"? Запрос к конкретному доменному
имени hotel.rexx.dev.sample.com в первом случае обрабатывается в
нужном блоке server{}, а во втором - нет?
Если да, то вероятнее всего дело в _других_ блоках server{} в
вашем конфиге, которые оказываются более специфичными для данного
имени. Приоритет различных вариантов задания имени документирован
по приведённой вами ссылке, и интересующая нас в данном случае
часть:
- точное имя
- самое длинное имя с маской в начале, например “*.example.org”
Т.е. если не работает - следует искать в конфиге либо точные имена
(т.е. собственно hotel.rexx.dev.sample.com), либо более длинные
имена с маской в начале (e.g. *.rexx.dev.sample.com, .rexx.dev.sample.com).
--
Maxim Dounin
http://nginx.com/support.html
Подробная информация о списке рассылки nginx-ru