Re: Регулярка для валидации имен в server_name

Валентин Бартенев vbart at nginx.com
Tue Feb 26 16:47:24 UTC 2013


On Tuesday 26 February 2013 19:34:49 Никита Козлов wrote:
> 26 февраля 2013 г., 10:18 пользователь Andrey Kopeyko
> 
> <andrey at kopeyko.ru> написал:
> > 26.02.2013 00:34, Andrey Repin пишет:
> > Может, пора уже открыть топикстартеру глаза на большую тайну нашего
> > сообщества - что не бывает, с точки зрения nginx, ни валидных ни
> > не-валидных значений server_name? Что nginx просто не занимается
> > проверкой написанного там.
> 
> Вот блин)
> Изначально была задача не допустить генерации конфигов на которые
> nginx бы ругался, а вот мозгов что-то мне не хватило взять и проверить
> ругается ли nginx вообще на содержимое server_name)
> 
> Спасибо за просветление!

Это неправда на самом деле. Достаточно посмотреть на
код парсинга этой директивы, и там есть ряд проверок
на распространенные ошибки:

http://trac.nginx.org/nginx/browser/nginx/trunk/src/http/ngx_http_core_module.c#L4184

Кроме того, часть проверок будет выполнена уже после
парсинга всего конфига:

http://trac.nginx.org/nginx/browser/nginx/trunk/src/http/ngx_http.c#L1491

Единственный надежный способ - запускать nginx с флагом
"-t", чтобы он сам проверил валидность конфигурации.

--
Валентин Бартенев
http://nginx.com/support.html
http://nginx.org/en/donation.html


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