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

Peter Leonov gojpeg at gmail.com
Mon Sep 14 12:45:07 MSD 2009


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






More information about the nginx-ru mailing list