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

Дугин Сергей drug at qwarta.ru
Sat Apr 29 00:10:32 MSD 2006


Здравствуйте, Igor.

Вы писали 28 апреля 2006 г., 23:53:27:

> 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

Ну так ведь все эти заголовки юзер сможет увидить при скачивании через
тот же reget и потом раздать на весь инет его и все кт осмогут сделать
такой же заголовок смогут скачивать то за что было заплачен ов
единичном экземпляре.

Как в
>      location  /download/ {
>          ...
>      }
делать ограничение по IP на лету не перегружая каждый раз конфиг nginx
и как можно считать сколько юзер скачал чтобы теоретически понять
скачал он все или нет?

-- 
С уважением,
 Дугин Сергей                          mailto:drug at qwarta.ru
 QWARTA






More information about the nginx-ru mailing list