ПРОЕКТЫ 


  АРХИВ 


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: nginx+Django FastCGI, реа кция на ответ 302 (редирект)



On Thu, May 21, 2009 at 04:12:56AM +0400, Yuriy Taraday wrote:

> Добрый вечер.
> 
> Я использую связку nginx+Django. Цель - заставить приложение работать
> в определённом каталоге сервера без изменений. То есть, чтобы запросы
> вида http://server/basedir/dir/something приходили в приложение как
> /dir/something, а возвращаемые редиректы на /otherdir/thing
> превращались в http://server/basedir/otherdir/thing.
> 
> При работе через модуль proxy с http-сервером Django, запросы и
> http-редиректы обрабатываются корректно без особых настроек:
> location /basedir/ { proxy_pass http://127.0.0.1:8000/; }
> 
> При работе через модуль fastcgi, чтобы отрезать basedir от пути,
> приходится пользоваться alias или rewrite (и передавать соотв. строку
> в параметре REQUEST_URI), но при этом если приложение возвращает
> ошибку 302 (Temporary moved), то в заголовке Location преобразований
> пути не делается, и пользователю в приведённом примере прийдёт
> редирект на http://servеr/otherdir/thing.
> 
> Хотелось бы узнать, как можно корректно настроить поведение связки
> через FastCGI.

Для FastCGI нет аналога proxy_redirect так же, как и proxy_set_header,
так как, в FastCGI такие ситуации исключительны, в отличие от проксирования,
где использование этих директив скорее правило, чем исключение.


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



 




Copyright © Lexa Software, 1996-2009.