Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Проблема с порядком приме нения server_name
одна голова хорошо, а целый форум - лучше :)
чуяла душа, где-то рядом истина
Всем спасибо, пойду испытывать
14 сентября 2009 г. 16:49 пользователь Maxim Dounin
<mdounin@xxxxxxxxxx> написал:
> 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@xxxxxxxxxxxxx>
>> написал:
>> > 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@xxxxxxxxx>
>> >> написал:
>> >> >
>> >> > 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@xxxxxxxxxxxxx>
>> >> >> написал:
>> >> >>>
>> >> >>> 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@xxxxxxxxx
>> >> >>>>>>
>> >> >>>>>>
>> >> >>>>
>> >> >>>>
>> >> >>>>
>> >> >>>>
>> >> >>>> --
>> >> >>>> Best regards,
>> >> >>>> Vladimir mailto:marunin@xxxxxxxxx
>> >> >>>>
>> >> >>>
>> >> >>> --
>> >> >>> Игорь Сысоев
>> >> >>> http://sysoev.ru
>> >> >>>
>> >> >>>
>> >> >
>> >> > С уважением,
>> >> > Петр Леонов.
>> >> > +7 (905) 758-12-73
>> >> >
>> >> >
>> >> >
>> >
>> > --
>> > Игорь Сысоев
>> > http://sysoev.ru
>> >
>> >
>
>
|