ПРОЕКТЫ 


  АРХИВ 


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]

верните server_na me *; # пожалуй ста :)




ситуация:

        server  {
                listen                          80 default 
accept_filter=httpready;
                include                         include/rewrite;
                include                         include/location_error;
                set                             $_document_root 
/srv/www/vhosts/service/core/;
                root                            $_document_root;

                server_name
#список проксируемых виртуальных хостов
                                        www.somesite.ru
                                        www.somesite2.ru
                                        www.somesite3.ru
                                        www.company.ru
                ;

                location                        / {
                        proxy_set_header                Host                    
        $host;
                        proxy_set_header                X-Real-IP               
        $remote_addr;
                        proxy_set_header                X-Forwarded-For         
        $proxy_add_x_forwarded_for;
                                proxy_set_header                X-Real-URI      
                $request_uri;
                        proxy_set_header                X-Real-Request-Scheme   
        $scheme;
                        proxy_redirect                  false;
                        proxy_pass                      
http://http-cluster$request_uri;
                }
        }
        server  {
                listen                          80;
                server_name
                                                        secure.company.ru
                                                        secure2.company.ru
                ;
                rewrite                         ^(.*)                           
https://$host$uri$is_args$args  permanent;
        }
        server  {
                listen                          80;
                server_name             .somesite.ru;
                rewrite                         ^(.*)   
http://www.somesite.ru$1        permanent;
        }
        server  {
                listen                          80;
                server_name             .somesite2.ru;
                rewrite                         ^(.*)   
http://www.somesite2.ru$1       permanent;
        }
        server  {
                listen                          80;
                server_name             .somesite3.ru;
                rewrite                         ^(.*)   
http://www.somesite3.ru$1       permanent;
        }
        server  {
                listen                          80;
                server_name             *;
                rewrite                         ^(.*)   http://www.company.ru$1 
        permanent;
        }


на server_name *; естественно выдаёт ошибку в конфиге
единственный work-around вот такой:

                server_name
                                                127.0.0.1
                                                192.168.4.1
                                                192.168.4.2
                                                10.20.30.40
                                                10.20.30.41
                                                ~^(.*)$
                ;

т.е. перечисляю все ИП адреса сервера и регекспом делаю аналог *

всем этим бредом, который я называю конфигом, я хочу добиться следующего: при обращении к несуществующему виртуальному хосту следует рерайт на сайт компании при обращении к сайтам клиентов, следует рерайт на красивое имя www. и тд (если это нужно)
виртуальные хосты в отдельном конфиге

вот наверно единственное, для чего нужно server_name *; ...




 




Copyright © Lexa Software, 1996-2009.