Дело в том, что ссылки не постоянные. Короткая и настоящая лежат в базе.
14 апреля 2013 г., 2:49 пользователь Anatoly Mikhailov <anat...@sonru.com>написал: > > 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 >
_______________________________________________ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru