On Apr 13, 2013, at 10:45 PM, Роман <n.g.i.n.x....@gmail.com> 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 > nginx-ru@nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru
_______________________________________________ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru