Воскресенье, 14 апреля 2013, 22:28 +04:00 от Роман <[email protected]>: > > При генерации файла инфа о нем кладется в бд и мемкеш > а при отдаче всего то надо взять одно значение из мемкеша > вот и думаю как бы это сделать с минимальными потерями. > > > 14 апреля 2013 г., 22:11 пользователь Anatoly Mikhailov < [email protected] > > написал: > > > >On Apr 14, 2013, at 6:32 PM, Роман < [email protected] > wrote: > >>Дело в том, что ссылки не постоянные. > >>Короткая и настоящая лежат в базе. > >> > > > >определитесь что вам, все таки, нужно: > >- "без какого либо скрипта в бекенде" > >- "ссылки непостоянные, короткая и настоящая лежат в базе." > > > >Анатолий > > > >> > >> > >>14 апреля 2013 г., 2:49 пользователь Anatoly Mikhailov < [email protected] > >>> написал: > >>> > >>>On Apr 13, 2013, at 10:45 PM, Роман < [email protected] > wrote: > >>>>Есть задачка скрыть реальное нахождение файла и отдавать его по > >>>>короткой ссылке. Например: заходим по ссылке > >>>>http://site.com/03209393/file.tgz , скачивание идет по ссылке > >>>>http://site.com/03209393/file.tgz , а на самом деле файл находится тут > >>>>http://site.com/arhive/file.tgz > >>>> > >>>>Задача довольно простая на первый взгляд, если бы не одно но. > >>>> > >>>>Можно ли читать реальную ссылку не скриптом, а например из мемкеша? > >>>>Тогда бы nginx считывал ссылку и от давал файл без какого либо скрипта > >>>>в бекенде. > >>>> > >>>>Вся задача сводится к убиранию бекенда. > >>> > >>>можно даже без мемкэша обойтись, просто соберите nginx с опцией > >>>--with-http_secure_link_module > >>> > >>> location /download/ { > > > > >>> rewrite /download/([a-zA-Z0-9_\-]*)/([0-9]*)/(.*)\.tgz$ > >>> /archive/$3.tgz?st=$1&e=$2; > >>> } > >>> > >>> > > >>> location /archive/ { > >>> internal; > >>> secure_link $arg_st,$arg_e; > >>> secure_link_md5 YOUR_SECRET_PASSWORD_HERE$arg_e$uri; > >>> > >>> > > if ($secure_link = "") { return 403; } > >>> if ($secure_link = "0") { return 403; } > >>> > >>> } > >>> > >>>YOUR_SECRET_PASSWORD_HERE - пароль, с помощью которого вы делаете шифр, > >>>$arg_e - timestamp > >>>пример того, как генерить урлы на Ruby здесь > >>>https://gist.github.com/mikhailov/3174601 > >>> > >>>>_______________________________________________ > >>>>nginx-ru mailing list > >>>>[email protected] > >>>>http://mailman.nginx.org/mailman/listinfo/nginx-ru > >>> > >>>_______________________________________________ > >>>nginx-ru mailing list > >>>[email protected] > >>>http://mailman.nginx.org/mailman/listinfo/nginx-ru > >> > >>_______________________________________________ > >>nginx-ru mailing list > >>[email protected] > >>http://mailman.nginx.org/mailman/listinfo/nginx-ru > > > >_______________________________________________ > >nginx-ru mailing list > >[email protected] > >http://mailman.nginx.org/mailman/listinfo/nginx-ru > >
Посмотрите на eval-модуль, это именно то, что нужно вам. _______________________________________________ nginx-ru mailing list [email protected] http://mailman.nginx.org/mailman/listinfo/nginx-ru
