Re[2]: Продажа контента

Igor Sysoev is at rambler-co.ru
Fri Apr 28 23:53:27 MSD 2006


On Fri, 28 Apr 2006, Дугин Сергей wrote:

>>> Появилась задача сделать сервис с платными подписками на доступ к
>>> контенту. Раньше делал просто апач+http auth и все было красиво... но
>>> теперь захотелось цивилизованно подойти к процессу с сделать нормальную
>>> форму с логином и паролем... вот только не знаю, как красивее
>>> организовать отдачу контента (файлы по 3-180Мб) клиентам из
>>> members-зоны... хояется сохранить возможность докачки и всякие там
>>> прелести типа ranges для многопоточного скачивания.... делать
>>> предполагается, как вы, наверное, уже догадались на apache+nginx...
>>> хотя, может быть, апач и не понадобится... но вопрос, пока, в следующем:
>>> подскажите правильный путь к организации раздачи контента только тем,
>>> кто заплатил/авторизовался.
>
>> По клику на ссылке download вызывается скрипт. Он, на основании любых
>> возможных критериев, определеяет имеет-ли этот юзер право на скачивание
>> данного файла. Если имеет - скрипт выдает X-Accell-Redirect с
>> перенаправлением на internal location на фронтенде (nginx). Дальше файл
>>  качается клиентом средствами nginx (с докачкой и т.д.).
>
> А можно маленький примерчик как перл выдает X-Accell-Redirect с
> перенаправлением на internal location ?
> И это обязательно на fast_cgi или можно и просто перл?

Есть конфигурация

     location  / {
         proxy_pass ...
         или
         fastcgi_pass ...
     }

     location  /download/ {
         internal;
         root   ...
     }

Запрос уходит на бэкенд, бэкенд возвращает среди прочего заголовок
"X-Accel-Redirect: /download/file". После этого запрос обслуживается в

     location  /download/ {
         ...
     }

Из ответа бэкенда при этом наследуются заголовки:

Set-Cookie
Content-Disposition
Cache-Control
Expires
Accept-Ranges


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





More information about the nginx-ru mailing list