Переделанный модуль expirelink
Alrond
rusnginx at gmail.com
Tue Oct 27 18:04:13 MSK 2009
Николай в свое время переделал модуль
NginxHttpAccessKeyModule<http://wiki.codemongers.com/NginxHttpAccessKeyModule>,
я же переделал его модуль.
Изменения:
- в expirelink_signature можно использовать переменные, как и раньше в
AccessKeyModule <http://wiki.codemongers.com/NginxHttpAccessKeyModule>
- убрал хардкодную зависимость от uri, потому как $uri можно засунуть в
signature, а можно и убрать, чтобы доступны были все файлы в location
- создание md5 должно происходить в такой последовательности:
"TimestampSignature"
В локейшн:
expirelink on;
expirelink_hashmethod md5;
expirelink_arg "s";
expirelink_timestamp_arg "t";
expirelink_signature "secret$remote_addr$uri";
Example URL:
http://www.example.com/path/to/file?&t=1257499561&s=6fe68dff43c224653a5306c097d5d1b8
Python MD5:
md5.new("1257499561secret127.0.0.1/path/to/file").hexdigest()
= 6fe68dff43c224653a5306c097d5d1b8
---------------
Alex Aster
WIPmania.com - база IP геолокации
18 декабря 2008 г. 13:28 пользователь Nikolay Sivko
<default_xz at inbox.ru>написал:
> На самом деле это пропатченный AccesKey модуль (
> http://wiki.codemongers.com/NginxHttpAccessKeyModule), лежит тут:
> http://94.124.200.59/pub/ngx_http_expirelink_module.tar.gz
> При запросе файла с сервера в аргументах передается время до которого
> ссылка валидна и (md5|sha1) хэш от "URI,expire_time,salt", если текущее
> время меньше expire_time и хэш верный файл отдается, в противном случае -
> 403.
> Пример конфига:
>
> location /files/ {
> expirelink on; #включаем
> expirelink_arg "s"; #имя аргумента с хэшом
> expirelink_timestamp_arg "t"; #имя аргумента с временем, до которого
> валидна ссылка
> expirelink_signature "1234112121"; #секретное слово
> expirelink_hashmethod md5; #тип хэша (md5|sha1)
> root /var/www/storage;
> }
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://nginx.org/pipermail/nginx-ru/attachments/20091027/63e686e5/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: ngx_http_expirelink_module.tar.gz
Type: application/x-gzip
Size: 3214 bytes
Desc: not available
URL: <http://nginx.org/pipermail/nginx-ru/attachments/20091027/63e686e5/attachment.bin>
More information about the nginx-ru
mailing list