ПРОЕКТЫ 


  АРХИВ 


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 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 *;



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





 




Copyright © Lexa Software, 1996-2009.