Welcome! Log In Create A New Profile

Advanced

secure_link_module

Posted by stepvut 
secure_link_module
March 22, 2012 03:29AM
переношу конфигурацию с одного сервера на другой, не могу понять почему не работает - может уважаемое сообщество что подскажет?

ссылки вида http://servername/gallery/image/id/204699/img.jpg?s=mscIcTuaa8QvPODVlGqMnQ&e=1332403665 стабильно выдают 403 на новом хостинге

в конфиге директива:
====
location /gallery/image/id/ { #serve gallery images
secure_link $arg_s,$arg_e;
secure_link_md5 protect$remote_addr$arg_e$uri;
if ($secure_link = "") { return 403; }
if ($secure_link = "0") { return 403; }
try_files $uri /index.php;
}
====
затык явно на "if ($secure_link = "")", без него работает - значит некоректный хеш

ссылка генерится примерно следующим образом:
====
$path = "http://servername/gallery/image/id/204699/img.jpg";
function generate_secure_link($path) {
$secret = "protect";
$expire = time() + 60 * 60;
$addr = !empty($_SERVER["REMOTE_ADDR"])?$_SERVER["REMOTE_ADDR"]:"127.0.0.1";
$md5 = base64_encode(md5($secret . $addr . $expire . $path, true));
$md5 = strtr($md5, "+/", "-_");
$md5 = str_replace("=", "", $md5);
return $path."?s={$md5}&e={$expire}";
}
====

интересуют следующие вопросы:
1. в чем может быть косяк, что я упустил? по мне дак все красиво и на соседнем проекте (при выдаче статики только правда) такая конструкция отлично работает
2. каким образом можно отдебажить не перекомпиливая nginx?

заранее спасибо

nginx version: nginx/1.0.11
ubuntu
Sorry, you do not have permission to post/reply in this forum.

Online Users

Guests: 68
Record Number of Users: 6 on February 13, 2018
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready