Re: Выделение первой части server name при помощи regex

Валентин Бартенев vbart at nginx.com
Tue Jan 21 16:30:13 UTC 2014


On Tuesday 21 January 2014 11:01:01 mvs wrote:
> Прошу помощи в моей задаче: необходимо обрабатывать адреса вида
> <city>.project.dev.example.com отфильтровав их от всевозможных поддоменов
> blablabla.<city>.project.dev.example.com; вариантов <city> более 50 и они
> изредка меняются, поэтому перечислить их в списке невозможно.

Если они меняются "изредка", то что мешает их перечислить в списке и
изредка менять этот список?


> 
> Сейчас используется вариант
> server_name project.dev.example.com *.project.dev.example.com;
> но он пропускает blablabla.<city>.project.dev.example.com
> 
> Пробовал варианты
>  server_name ~^[a-z]+\.project\.dev\.example\.com$;
>  server_name ~^(\w.+)\.project\.dev\.example\.com$;
>  server_name ~^([^.]+)\.project\.dev\.example\.com$;
> но в них открывается дефолтный сервер
>  server_name .dev.example.com;
[..]

Разумеется.  Это хорошо описано в документации:
http://nginx.org/r/server_name/ru
(со слов "При поиске виртуального сервера ...")

--
Валентин Бартенев


Подробная информация о списке рассылки nginx-ru