Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: URL с временными токенами
- To: nginx-ru@xxxxxxxxx
- Subject: Re: URL с временными токенами
- From: Sergey Shepelev <temotor@xxxxxxxxx>
- Date: Tue, 11 May 2010 13:43:22 +0400
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:received:in-reply-to :references:date:message-id:subject:from:to:content-type :content-transfer-encoding; bh=8LSnTtoAmc84L/b3YmwbEeGRteBdLzpJKJY83ajeJIQ=; b=YGZ9IOQBErj2oBh3j/s1xrdwHEQd7LJ+Q6ed+y0hrW26+smXNMCO2F85gNfneqJ/wK CUmTzo4i/B9hiqybGhTQTzzEq9AWqnKsg1zrc+aLUHTDnBh52KMUp+iEzpZzAAmva5v6 I3I0eUSrE5Do87IKVvLoBHU0ja0857YkLnVXw=
- Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type:content-transfer-encoding; b=GAqRxbkIlHqvNERvWxihCO3a6ZzU55DXUPSQuElVLOIV4Kb63wcaIizB83rFmrPRUg 9E44I0AlAHa7aWJV9P5V9KzlNqHTzxcUL4wVgeCx9AiUzCJf/+M1hjM2X9XwOrn3j0Ja vQPghrdT0Q4T+xVJb95zV58TCMEmoaoHlmn0w=
- In-reply-to: <0adcc5e9902e1af7dbf9b8a80ac4a104.NginxMailingListRussian@xxxxxxxxxxxxxxx>
- References: <0adcc5e9902e1af7dbf9b8a80ac4a104.NginxMailingListRussian@xxxxxxxxxxxxxxx>
2010/5/11 softshape <nginx-forum@xxxxxxxx>:
> Всем привет,
>
> стоит задача спрятать прямой путь к некоторым файлам (изображения из галерей
> с ограниченным доступом). Сам доступ проверяется бакэндом, а вот отдачу
> картинок хочется все-таки делать 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 и если да, то как ?
>
Ищите модуль eval. Он может сходить в мемкеш и достать значение в
переменную, которую потом можно использовать для rewrite.
_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://nginx.org/mailman/listinfo/nginx-ru
|