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

Vitaliy Lisenko vlisenko.3s at gmail.com
Mon Sep 14 14:05:43 MSD 2009


одна голова хорошо, а целый форум - лучше :)
чуяла душа, где-то рядом истина
Всем спасибо, пойду испытывать




14 сентября 2009 г. 16:49 пользователь Maxim Dounin
<mdounin at mdounin.ru> написал:
> Hello!
>
> On Mon, Sep 14, 2009 at 04:16:15PM +0700, Vitaliy Lisenko wrote:
>
>>   Первым в конфе идет
>> Речь об Одном айпи (одинаковый для сотен доменов, плюс по регуляркам
>> еще поддомены
>>
>>  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$;
>
> Вот так с пробелом после "~" и написано?
>
> Вообще говоря пустой regexp матчит всё, ничего удивительного тут
> нет.
>
> Maxim Dounin
>
>
>>
>>
>>
>>
>>
>> 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