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

Igor Sysoev is at rambler-co.ru
Mon Dec 17 15:13:57 MSK 2007


On Mon, Dec 17, 2007 at 03:01:30PM +0300, Alexey V. Karagodov wrote:

> 
> On 17.12.2007, at 14:36, Andrey N. Oktyabrski wrote:
> 
> >Denis F. Latypoff wrote:
> >>Я думаю, что новички, видя в доке, что можно использовать  
> >>wildcard'ы, судорожно
> >>начинают писать вот такое:
> >>server {
> >>   listen xxx.xxx.xxx.xxx:xx;
> >>   server_name *;
> >>   if ($host ~ ...) {
> >>       ...
> >>   }
> >>   if ($host ~ ...) {
> >>       ...
> >>   }
> >>   ...
> >>}
> >>может вообще убрать wildcard'ы?
> >А может, лучше включить в документацию примеры "хорошего стиля" с  
> >таймингами для правильных и эквивалентных им неправильных приёмов?  
> >Таких ошибок много - например, запросы к постгресу пишут так же, как  
> >к мускулу, а потом плюются и обзывают его тормозом.
> >
> 
> мой пример - для каждого сайта есть listen *:80; server_name 
> www.sitename.xx ; всякая всячина ...
> и есть listen *:80; server_name localhost *; и вот тут всякие рерайты  
> и пр и пр чтобы обработать запрос пришедший неизвестно куда был либо  
> исправлен либо как то обработан
> 
> таким образом я избавляюсь от вариантов типа "Может подставлять в  
> качестве сервера IP на который пришел запрос?"
> 
> и вообще, если server_name xxx.xxx.xx не очень охота, чтобы ему  
> достался запрос адресованный не к xxx.xxx.xx

Если нужно сделать сервер, обрабатывающий запросы с левыми именами,
пришедшими на данный ip:port, то это делается так:

    server {
         listen  ip1:port1  default;
         listen  ip2:port2  default;
         server_name  _;
         return 404;
    }

Распологать этот сервер можно, где угодно.


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





More information about the nginx-ru mailing list