ПРОЕКТЫ 


  АРХИВ 


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: прокси и Host



On Sat, 4 Feb 2006, Anton Maksimenkov wrote:

Попробовал заменить часть апачей на nginx на хостинге, столкнулся с
несколькими проблемами. Из документации не понял:

1) как сделать в nginx аналог апачевского

RewriteEngine   On
RewriteCond     %{HTTP_HOST} ^(.+)\.domen\.ru.*$ [NC]
RewriteRule     (.*) http://backend.domen.ru.int/%1$1 [L,P]
RewriteRule     .*   http://domen.ru

то есть передать в запросе к прокси часть "Host" (ну на крайний случай
целиком "Host") ?

Примерно так:

   server {
       listen   80  default;
       rewrite  ^.*   http://domen.ru/;
   }

   server {
       listen        80;
       server_name   www.domen.ru *.domen.ru;

       set  $host_part  "";

       location / {
           if ($http_host ~* "^(.+)\.domen\.ru.*$") {
               set  $host_part  $1;
           }

           rewrite  ^(.*)$   /$host_part$1  break;

           proxy_pass   http://backend.domen.ru.int;
       }
   }


2) (вместо 1) - как обслуживать массовый хостинг *.domen.ru, то
есть как формировать root-директорию путём выборки наподобие

(.*)\.domen\.ru

и отдельно для самого domen.ru ?

      location / {
          set  $host_part  domen.ru;

          if ($http_host ~* "^(.+)\.domen\.ru(:\d+)?$") {
              set  $host_part  $1;
          }

          root   /sites/$host_part;
      }


3) как сделать аналог апачевского добавления header'а и footer'а, типа
как в mod_layout. Нашёл краткое упоминание про какой-то фильтр, но
непонятно где и как это сделать ?

Сейчас - никак, нужно писать модуль.


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



 




Copyright © Lexa Software, 1996-2009.