Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
URL с временными токенами
- To: nginx-ru@xxxxxxxxx
- Subject: URL с временными токенами
- From: "softshape" <nginx-forum@xxxxxxxx>
- Date: Tue, 11 May 2010 05:32:18 -0400
- Dkim-signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mickey.jlkhosting.com; s=x; h=Sender:From:Message-ID:Content-Transfer-Encoding:Content-Type:Subject:To:Date; bh=fcnr39bHfxAMAfzeXmrHMuPGPjEijlyVBLbj95tQWzY=; b=HMU4R0hXekD/EX5UGYzDQB01FVpYrzd04lg09N0O8CqWv8YYx7Jy0O5p61V93qP/DR9A21Rzkdm32G34+nXUsdifi4FEbctZGBlVLtwcqN58XmS1vsO2mT764Vp9l+Ah;
Всем привет,
стоит задача спрятать прямой путь к некоторым файлам (изображения из галерей с
ограниченным доступом). Сам доступ проверяется бакэндом, а вот отдачу картинок
хочется все-таки делать 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 mailing list
nginx-ru@xxxxxxxxx
http://nginx.org/mailman/listinfo/nginx-ru
|