ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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




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




 




Copyright © Lexa Software, 1996-2009.