Welcome! Log In Create A New Profile

Advanced

secure_link в разных location

October 02, 2013 05:20AM
Здравствуйте.

Столкнулся с проблемой - необходимо использовать secure_link в двух разных location с разными приципами формаирования secure_link_md5 в пределах одного server. Вроде все просто:

server {
listen 80;
root /home/somepath/;
server_name example.com;

location ~ (\.mp4) {
set $secretPharse xxx;
set $key $arg_k;
set $expire $arg_e;

secure_link $key,$expire;
secure_link_md5 $secretPharse$expire$remote_addr$uri;
if ($secure_link != "1") { error_page 418 = @test2; return 418; }
}

location @test2 {
set $secretPharse xxx2;
set $key $arg_k;
set $expire $arg_e;

set $ip "192.168.1.1";

secure_link $key,$expire;
secure_link_md5 $secretPharse$expire$ip$uri;
if ($secure_link != "1") { return 403; }
}

}

Но при этом ничего не работает. Собрал с debug, стал смотреть - первый локейшен отрабатывается четко как надо, переходим во второй, все выполняем кроме строк:
secure_link $key,$expire;
secure_link_md5 $secretPharse$expire$ip$uri;

Их nginx пропускает, тоесть повтороно он не обсчитывает md5 хеш... При этом в документации указано, что secure_link может применяться в http, server, location .

Что делать?

P.S. пробовал также rewrite вместо именованного location, результат тотже самый.
Subject Author Posted

secure_link в разных location

Unreal October 02, 2013 05:20AM

Re: secure link в разных location

Maxim Dounin October 02, 2013 06:22AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 258
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready