Re: Подмена урла с отдачей файла

Роман n.g.i.n.x.e.r at gmail.com
Sun Apr 14 18:28:13 UTC 2013


При генерации файла инфа о нем кладется в бд и мемкеш
а при отдаче всего то надо взять одно значение из мемкеша
вот и думаю как бы это сделать с минимальными потерями.


14 апреля 2013 г., 22:11 пользователь Anatoly Mikhailov
<anatoly at sonru.com>написал:

>
> On Apr 14, 2013, at 6:32 PM, Роман <n.g.i.n.x.e.r at gmail.com> wrote:
>
> Дело в том, что ссылки не постоянные.
> Короткая и настоящая лежат в базе.
>
>
> определитесь что вам, все таки, нужно:
> - "без какого либо скрипта в бекенде"
> - "ссылки непостоянные, короткая и настоящая лежат в базе."
>
> Анатолий
>
>
>
> 14 апреля 2013 г., 2:49 пользователь Anatoly Mikhailov <anatoly at sonru.com>написал:
>
>>
>> On Apr 13, 2013, at 10:45 PM, Роман <n.g.i.n.x.e.r at 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 at nginx.org
>> http://mailman.nginx.org/mailman/listinfo/nginx-ru
>>
>>
>>
>> _______________________________________________
>> nginx-ru mailing list
>> nginx-ru at nginx.org
>> http://mailman.nginx.org/mailman/listinfo/nginx-ru
>>
>
> _______________________________________________
> nginx-ru mailing list
> nginx-ru at nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-ru
>
>
>
> _______________________________________________
> nginx-ru mailing list
> nginx-ru at nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-ru
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.nginx.org/pipermail/nginx-ru/attachments/20130414/7f84598d/attachment.html>


Подробная информация о списке рассылки nginx-ru