Re: Проблема с порядком применения server_name

Vitaliy Lisenko vlisenko.3s at gmail.com
Mon Sep 14 13:16:15 MSD 2009


  Первым в конфе идет
Речь об Одном айпи (одинаковый для сотен доменов, плюс по регуляркам
еще поддомены

 server {

 listen 1.1.1.1:80 default sndbuf=8k;
 server_name 1.1.1.1;

   location / {.............................................................................................................................
deny all;
     }

типо для того, чтобы непрописанный хост не вел куда попал, а отдавал 403..
а "оно" (к примеру superpuper.com)  под регулярку "попало". под
которую в принципе не должно было попасть никогда.
 потом  include dir1/*.conf;
потом   include dir2/*.conf;
в папке дир2 лежит конф
 server {.......................................................................................................................
 listen 1.1.1.1:80;
 server_name www.site.ru ~ ([a-z.0-9-]+)\.site\.ru$;





14 сентября 2009 г. 16:09 пользователь Igor Sysoev <is at rambler-co.ru> написал:
> On Mon, Sep 14, 2009 at 03:56:53PM +0700, Vitaliy Lisenko wrote:
>
>> нет, это прописано не в первом блоке серверНеймов, это инклуд 5 по счету
>
> Сервера висят на одних и тех же адресах ? Или есть специфичные
>
> listen x.x.x.x:80;
>
> ?
>
>> 14 сентября 2009 г. 15:45 пользователь Peter Leonov <gojpeg at gmail.com> написал:
>> >
>> > On 14.09.2009, at 12:08, Vitaliy Lisenko wrote:
>> >
>> >> я месяца два назад поймал глюк с именами сайтов.
>> >> Просил Дениса Латыпова отписать понятным общественности языком, но он
>> >> ,видимо , не отписал.
>> >> попытаюсь сам рзвить проблемку с именами доменов:
>> >>
>> >> проблема схожая, только с регуляркой .
>> >> server_name www.site.ru ~ ([a-z.0-9-]+)\.site\.ru$;
>> >> в реальности под него попадает почему-то  вообще любой домен, не
>> >> описаный своим  сервернеймом
>> >
>> > Если этот server_name описан в первом блоке server, то так и должно быть.
>> > Первый блок server становится сервером по умолчанию, если не указано иное.
>> >
>> >> nginx/0.8.7
>> >>
>> >>
>> >>
>> >> 6 сентября 2009 г. 22:32 пользователь Igor Sysoev <is at rambler-co.ru>
>> >> написал:
>> >>>
>> >>> On Thu, Sep 03, 2009 at 12:30:58AM +0400, Vladimir Marunin wrote:
>> >>>
>> >>>> Hello Alexey,
>> >>>>
>> >>>> Первым делом поменял местами. Не помогло.
>> >>>> Помогла запись вида
>> >>>> server {
>> >>>>  server_name ta.com *.ta.com;
>> >>>>  ...
>> >>>> }
>> >>>>
>> >>>> Правда после этого я получил ошибку про маленький
>> >>>> server_names_hash_max_size, но это уже мелочи.
>> >>>>
>> >>>> Похоже, что .ta.com трактуется как полное имя, хотя и совпадает с
>> >>>> неполными. Точное указание имён спасает.
>> >>>
>> >>> Можешь прислать мне список серверов в виде
>> >>>
>> >>>   server {
>> >>>       server_name ...;
>> >>>   }
>> >>>
>> >>>   server {
>> >>>       server_name ...;
>> >>>   }
>> >>>
>> >>> ?
>> >>>
>> >>>> Thursday, September 3, 2009, 12:10:30 AM, you wrote:
>> >>>>
>> >>>>> а менять местами server{} пробовали?
>> >>>>> вдруг ...
>> >>>>
>> >>>>> On 02.09.2009, at 22:39, Vladimir Marunin wrote:
>> >>>>
>> >>>>>> Hello nginx-ru,
>> >>>>>>
>> >>>>>>  Имеется nginx 0.6.31 (на Debian etch) для него автоматически пишется
>> >>>>>> конфигурация на сотню server по такому шаблону (домен вымышленный,
>> >>>>>> конфигурацию показать не могу)
>> >>>>>>
>> >>>>>> server {
>> >>>>>>  server_name .crm.ta.com;
>> >>>>>>  listen 80;
>> >>>>>>  ...
>> >>>>>> }
>> >>>>>> ...
>> >>>>>> server {
>> >>>>>>  server_name .ta.com;
>> >>>>>
>> >>>>> а если попробовать вот так:
>> >>>>>  server_name *.ta.com;
>> >>>>>  ...
>> >>>>> }
>> >>>>> server {
>> >>>>>  server_name ta.com;
>> >>>>> ??
>> >>>>
>> >>>>>>  listen 80;
>> >>>>>>  ...
>> >>>>>> }
>> >>>>>>
>> >>>>>> Почему-то запрос http://crm.ta.com попадает во вторую секцию, хотя
>> >>>>>> надо в первую.
>> >>>>>> По debug логу видно, что его несёт именно в ta.com.
>> >>>>>>
>> >>>>>> Раньше всё работало нормально, но после какого-то изменения в конфиге
>> >>>>>> перестало, момент изменения не известен :(
>> >>>>>>
>> >>>>>> Вопрос: как можно понять логику выбора server у nginx? Какой лог может
>> >>>>>> подсказать как проходит выбор домена?
>> >>>>>>
>> >>>>>> --
>> >>>>>> Best regards,
>> >>>>>> Vladimir                          mailto:marunin at gmail.com
>> >>>>>>
>> >>>>>>
>> >>>>
>> >>>>
>> >>>>
>> >>>>
>> >>>> --
>> >>>> Best regards,
>> >>>>  Vladimir                            mailto:marunin at gmail.com
>> >>>>
>> >>>
>> >>> --
>> >>> Игорь Сысоев
>> >>> http://sysoev.ru
>> >>>
>> >>>
>> >
>> > С уважением,
>> > Петр Леонов.
>> > +7 (905) 758-12-73
>> >
>> >
>> >
>
> --
> Игорь Сысоев
> http://sysoev.ru
>
>


More information about the nginx-ru mailing list