ПРОЕКТЫ 


  АРХИВ 


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[2]: FR: accesskey patch



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

Вы писали 12 января 2008 г., 15:32:46:

> А что будет если придёт Download Master и каждый раз будет дёргать пхп
> чтобы получить файлик?
> С готовыми ссылками всё гораздо проще.
> PHP скрипт генерит ссылки, а бэкенд проверяет и отдаёт уже файлы.

У меня был опыт написания таких проектов. Бэкэнд генерил и
проверял ссылки и все это на php5 + xcache + memcache

Даже на стареньком Dual Xeon время ответа от бэкэнда не превышало
0.001 секунды и сервер спокойно обрабатывал 350-400 запросов в
секунду. А на фронте стояло несколько серверов nginx, которые и
отдавали статику клиентам :)

> Таким образом вся нагрузка ляжет на бэкенды где находится лайти или 
> (если автор допишет accesskey) нгинкс.

> Поправьте если я где-то что-то упустил.

Вы основываетесь на вашей теории, которая никак не проверена на
практике


> David Mzareulyan пишет:
>> А зачем это нужно, если есть куда более мощный X-Accel-Redirect?
>>
>>> Добрый день!
>>>
>>> Я изготовил http_accesskey_module. Работает это так:
>>>
>>> в выражении, заданном директивой accesskey_signature, раскрываются
>>> переменные и вычисляется хэш значения . Если в GET строке есть
>>> параметр key со значением хэша, запрос проходит, иначе клиент получает
>>> 403 forbidden.
>>>
>>> Чтобы все это имело какой-то смысл, accesskey_signature должна
>>> содержать переменные, идентифицирующие клиента, например $remote_addr,
>>> и некий секретный ключ (по умолчанию там просто "$remote_addr", что
>>> довольно бессмысленно - любой может изготовить md5 от своего ip
>>> адреса).
>>>
>>> В результате клиенту можно давать url вида
>>> http://x.x.x.x/download?key=a1b2c3d4e5f6g7h8&&filename=onlyforyou,
>>> который будет доступен только с определенного remote_addr.
>>>
>>> директивы:
>>>
>>> accesskey [on|off]
>>>
>>> accesskey_arg "mykeyargname" - строка, имя проверяемого аргумента. По
>>> умолчанию "key".
>>>
>>> accesskey_hashmethod [md5|sha1]
>>>
>>> accesskey_signature "mypass12345$remote_addr"
>>>
>>
>>





-- 
С уважением,
 Константин                          mailto:kot@xxxxxxxxxxx




 




Copyright © Lexa Software, 1996-2009.