Переделанный модуль 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