URL с временными токенами

softshape nginx-forum на nginx.us
Вт Май 11 13:32:18 MSD 2010


Всем привет,

стоит задача спрятать прямой путь к некоторым файлам (изображения из галерей с ограниченным доступом). Сам доступ проверяется бакэндом, а вот отдачу картинок хочется все-таки делать nginx'ом. Пришла в голову одна идея, но реализуема она ?

1) Бакэнд генерит случайный токен (типа QLOA83H7FMP) и сохраняет в memcache его самого (как ключ) и время окончания его действия (как значение). Допустим, это будет 10 минут.
2) URL'ы изображений на защищаемой странице выглядят как domain.ru/img/QLOA83H7FMP/picture.jpg. 
3) Дальше немного магии - для файлов внутри /img/ nginx извлекает из URL'а токен, ищет его в memcached и если находит и его expiration-время не вышло, делает proxy-pass на секретный путь, где фактически лежит изображение - /img/private-path/picture.jpg. 

Без механизма proxy-pass, одним только бакэндом, красиво тут не сделаешь. Но возможно ли достучаться из nginx'а до memcached и если да, то как ?

Posted at Nginx Forum: http://forum.nginx.org/read.php?21,85249,85249#msg-85249




Подробная информация о списке рассылки nginx-ru