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
