ПРОЕКТЫ 


  АРХИВ 


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: Поддомен для всех доменов сразу



On Sun, Dec 16, 2007 at 03:49:29PM +0300, Alexey V. Karagodov wrote:

> 
> On 16.12.2007, at 15:29, Igor Sysoev wrote:
> 
> >On Sun, Dec 16, 2007 at 02:52:42PM +0300, Влад wrote:
> >
> >>Вы писали 16 декабря 2007 г., 9:29:15:
> >>
> >>А почему тогда не убрать проверку на дубликат этой "заглушки", чтобы
> >>не надо было извращений типа "0_", "1_", "2_", "3_"?
> >>
> >>Или это технически сложно сделать?
> >
> >Нет, технически это очень просто.
> >
> >На самом деле, нужно пересмотреть синтаксис server_name в отношнии  
> >первого
> >имени.
> >
> >Сейчас первое имя в server_name трактуется как основное и используется
> >для редиректов, если
> >1) в запросе не указано имя вообще,
> >2) или имя есть, но оно не совпало ни с одним из описанных, и  
> >управление
> >  попало в дефолтный сервер.
> server_name localhost *;

Нет.

Во-первых, "*" обычно воспринимается как совпадение с любым именем.
А в "server_name   www.example.com  *" она означает не совпадение,
а лишь сохранение имени во время редиректа.

Во-вторых, использовать localhost как специальную замену основного
имени нельзя, так как имя вполне существующее.

> >
> >
> >Поэтому первое имя не может быть регулярным выражением и содержать  
> >'*'.
> >Для случаев типа mail.*, когда основное имя не интересует, приходится
> >делать заглушку.
> >
> >Второй момент, котороый мне не нравится - это просто '*' в  
> >server_name. См.
> >
> >server_name   www.example.com  *;
> >
> >в конце
> >
> >http://sysoev.ru/nginx/docs/http/ngx_http_core_module.html#server_name
> >
> >Хотелось бы придумать синтаксис, который бы описывал обе задачи.
> >
> >>>"_" - это просто несуществующее имя, заглушка.
> >>>Вместо её можно поставить что-то вроде "0_", "1_".
> >>
> >>>>Но если запись "server_name  _" присутствует в нескольких конфигах
> >>>>nginx -t выдает: "conflicting server name "_" on 0.0.0.0:80,  
> >>>>ignored"
> >>>>
> >>>>Поэтому, одновременно прописать 2 алиаса (mail.* и www.mail.*)  
> >>>>таким
> >>>>способом у меня не получилось :(
> >>
> >>-- 
> >>С уважением,
> >>Влад                          mailto:vk@xxxxxxxxxx
> >>
> >>
> >
> >-- 
> >Игорь Сысоев
> >http://sysoev.ru
> >
> 
> 

-- 
Игорь Сысоев
http://sysoev.ru



 




Copyright © Lexa Software, 1996-2009.