Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Запрос на mysql из м одуля
Georg Tadeev пишет:
Nikolay,
буду очень благодарен если покажешь модуль, с mysql-ом пока проблем не
удалось решить.
Спасибо заранее,
На самом деле это пропатченный 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;
}
2008/12/17 Nikolay Sivko <default_xz@xxxxxxxx
<mailto:default_xz@xxxxxxxx>>
Georg Tadeev пишет:
Кирилл спасибо за ответ.
Кратко скажу в чём дела.
Делаю всё это для Download Manager-а.
Схема такая: клиент заходит на php скрипт, который генерирует
для него уникальный URL, типа
http://server.com/files/myfile.rar?key=abcdef123, потом пишет
в базу этот URL, ип клиента, и дату до которой ссылка будет
существовать. Привязка URL к ип уже реализовано в модуле
access-key, вот и подумал также проверить срок простым sql
запросом. Не хочу отдавать фаил через php, сильно тормозит.
Время, до которого валидна ссылка, ставьте в параметры + в
параметры суньте некий хэш от (uri без аргументов+expire
time+секретное слово)
То есть ссылка получится вида:
http://server.com/files/myfile.rar?expire=1229539081&key=8273b7175dc46c99113a0bfdb6bafad1
<http://server.com/files/myfile.rar?expire=1229539081&key=8273b7175dc46c99113a0bfdb6bafad1>
<http://server.com/files/myfile.rar?key=abcdef123>
Модуль, который реализует данный функционал могу выложить, если нужно.
С уважением
2008/12/17 Kirill A. Korinskiy <catap@xxxxxxxxxxxxx
<mailto:catap@xxxxxxxxxxxxx> <mailto:catap@xxxxxxxxxxxxx
<mailto:catap@xxxxxxxxxxxxx>>>
At Wed, 17 Dec 2008 18:17:15 +0400,
Georg Tadeev wrote:
> Есть альтернатива?
>
> Можете подсказать каким путём лучше?
>
> Может быть named pipes? Есть где-нибудь пример
использования из
модуля?
Если хочется ходить в mysql из nginx, то придеться
mysqlclient обучить
ngx_event_t, что бы одна точка была работы с сетью.
А вынести авторизацию на внешний ресурс (fcgi или простой http
демон) нельзя?
|