Поддомен для всех доменов сразу

Igor Sysoev is at rambler-co.ru
Sun Dec 16 15:29:15 MSK 2007


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) или имя есть, но оно не совпало ни с одним из описанных, и управление
   попало в дефолтный сервер.

Поэтому первое имя не может быть регулярным выражением и содержать '*'.
Для случаев типа 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 at shiloff.ru
> 
> 

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





More information about the nginx-ru mailing list