Фича типа внутреннего редиректа в апаче?

Igor Sysoev is at rambler-co.ru
Wed May 18 10:56:24 MSD 2005


On Wed, 18 May 2005, GribUser wrote:

> Имеется mod_perl скрипт, который регистрирует, кто какой файл тянет. По
> кукам. И кому какой файл можно тянуть, а кому нельзя. По ним же. Куки
> назначаются при первой попытке утянуть файл.
>
> Отдача файла сейчас происходит все через тот-же mod_perl (send_file).
> Поскольку он стоит за акселератором (до недавнего времени сквид, теперь
> вот nginx прилаживаю), это не смертельно. Но все ж таки и не сильно
> здорово. Приходится докачку и т.п. вещи делать на перле, плюс туда-сюда
> гоняется файл... Некузяво, одним словом.
>
> Внимание - вопрос. Можно ли как-нибудь из бэкэнда отдать редирект,
> который не клиент отработает, а nginx, чтобы всякие там докачки из кода
> убрать и вообще статику апачу в руки не давать, а решить
> пущать/непущать, зарегистрировать факт доступа и отпустить с миром? Без
> передачи клиенту редиректа, втихую?
>
> Более легкий вариант - без разграничения доступа и выдачи кук перед
> скачкой, просто регистрировать факт доступа в бэкэнде а выдавать статику
> nginx, опять же без передачи редитекта клиенту?

Сейчас такого нет, но достаточно легко добавить возможность, чтобы по
получении в ответе бэкенда заголовка "X-Accel-Redirect: /uri", nginx
стал бы обрабатывать /uri. Снаружи location с /uri можно закрыть
директивой internal.


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





More information about the nginx-ru mailing list