прокси и Host
Igor Sysoev
is at rambler-co.ru
Sun Feb 5 01:31:26 MSK 2006
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
More information about the nginx-ru
mailing list