Re: nginx+Django FastCGI, реакция на ответ 302 (редирект)

Yuriy Taraday yorik.sar at gmail.com
Thu May 21 13:58:09 MSD 2009


А не планируется ли реализация этих самых аналогов?
Случай, может, не широко распространён, но не так много и хочется...

2009/5/21 Igor Sysoev <is at rambler-co.ru>:
> 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
>
>


More information about the nginx-ru mailing list