ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Вопрос по HttpSecureLinkModule


  • To: nginx-ru@xxxxxxxxx
  • Subject: Вопрос по HttpSecureLinkModule
  • From: "valet" <nginx-forum@xxxxxxxx>
  • Date: Tue, 27 Dec 2011 04:42:11 -0500
  • Dkim-signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mickey.jlkhosting.com; s=x; h=Date:Sender:From:Message-ID:Content-Transfer-Encoding:Content-Type:Subject:To; bh=YDlt+p4wbWZDCxOrVBo3FuWqfstWiAsFZa21RXK0MAM=; b=uZo6TDdmMBPYgNVLkE5d9KxPatmXW1WJCt7Knpvn/bVh/SUUmn1vg6zEPfII7cr5eMynkxBFu5dpRl0Hww5xuFpbDAGhLf1w5/6m1lP0FjfMTfyjEjbNRLy5O+Zr9j3W;

Помогите пожалуйста разобраться с
HttpSecureLinkModule. Делаю все по инструкции
http://wiki.nginx.org/HttpSecureLinkModule, но почему-то не
получается.

Задача: отдавать по разным ссылкам
видео в зависимости от IP юзера.

Создаю локейшен:
location /video/ {
    ## This must match the URI part related to the MD5 hash and
expiration time.
    secure_link $arg_st;

    ## This is how the MD5 hash is built from a secret token, an URI and
an
    ## expiration time.
    secure_link_md5 qp3mc84ha0m46c$uri$remote_addr;

    ## If the hash is incorrect then $secure_link is a null string.
    if ($secure_link = "") {
        return 403;
    }

    ## The current local time is greater than the specified expiration
time.
    if ($secure_link = "0") {
        return 403;
    }

    ## If everything is ok $secure_link is 1.
}

Делаю /etc/init.d/nginx reload чтобы подхватить
новый конфиг.

Создаю в каталоге qp3mc84ha0m46c/video/files/ файл
top_secret.pdf

Для проверки генерю вручную нужную
ссылку, по которой он должен
отдаваться:
php -r 'print  str_replace("=", "",
strtr(base64_encode(md5("qp3mc84ha0m46c/video/files/top_secret.pdf46.185.43.130",
TRUE)), "+/", "-_")) . "\n";'
где 46.185.43.130 - мой IP.
Получается:
1aucwvhDHWfwAaDJuw1QrQ

Потом пробую получить файл:
http://site.ru/video/files/top_secret.pdf?st=1aucwvhDHWfwAaDJuw1QrQ
В результате 404 Not Found nginx/1.0.6
А так http://site.ru/qp3mc84ha0m46c/video/files/top_secret.pdf -
все нормально - 200 с отдачей файла.

Что я делаю не так?

Posted at Nginx Forum: 
http://forum.nginx.org/read.php?21,220529,220529#msg-220529

_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru


 




Copyright © Lexa Software, 1996-2009.