[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: nginx && rewrite



Игорь Чумак <ichumak2008@gmail.com> wrote:
> Andrey Melnikoff пишет:
> > Игорь Чумак <ichumak2008@gmail.com> wrote:
> >   
> >> Добрый день!
> >>     
> >
> > [...]
> >
> >   
> >> Нет ли способа "на лету" (средствами nginx естественно) перекодировать 
> >> ответ сервера?
> >>     
> > из чего в что ?
> Сорри, неясно выразился.
> Пример:

> nginx получил запрос:
> http://nginx_ip/wiki//test.php

> Передал его на backend http://192.168.0.251/

а зачем он его туда направил ? Есле тебе надо /wiki/ - то и делай location
/wiki/ и отправляй в http://192.168.0.251/wiki/

> Проблема в том, что backend видит в запросе

> _SERVER["SCRIPT_NAME"]    /test.php
> _SERVER["PHP_SELF"]    /test.php
куда передали - так и видит. 
Тебе никто не мешает написать так:

# proxy_pass  http://$host$uri$is_args$args;
 proxy_pass  http://192.168.0.251$uri$is_args$args;
 proxy_redirect     off;
 proxy_set_header   Host $host;
 proxy_set_header   X-Real-IP        $remote_addr;
 proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;


> Соответственно, если backend формирует какие-то абсолютные ссылки в 
> своем ответе (картинки в выводе phpinfo() например имеют вид <img 
> border="0" src="/test.php?=PHPE9568F34-D428-11d2-A769-00AA001ACF42">) - 
> ссылки получаются неработоспособными.

http://sysoev.ru/nginx/docs/http/ngx_http_core_module.html#try_files
если хочется чегото странного.


Reply to: