Estou usando o nginx secure_link para evitar o vídeo do hotlink. Se a chave do servidor principal corresponder à chave do servidor remoto. O vídeo poderá acessar / assistir. Caso contrário, se o link de acesso do usuário for diretamente sem o vídeo do link md5, retorne 403.
.
A chave md5 é compatível com a principal e a remota. E a hora do servidor é a mesma.
.
Servidor principal (Apache) Gere um link como este.
http://remote_example.com/videos/myvideo.mp4?st=E_Jb6MScgyMqjUo3eNQGkA&e=1485757614
.
Configuração do nginx do servidor remoto. "mypassword" é o mesmo que a configuração principal do servidor. Servidor remoto usando o painel VestaCP.
location ^~ /videos/ {
alias /home/admin/web/example.com/public_html/videos;
secure_link $arg_st,$arg_e;
secure_link_md5 mypassword$uri$arg_e;
if ($secure_link = "") {
return 403; # invalid hash or direct link
}
if ($secure_link = "0") {
return 410; # link expired
}
mp4;
gzip off;
gzip_static off;
mp4_buffer_size 5m;
mp4_max_buffer_size 5m;
limit_rate_after 3m;
limit_rate 512k;
}
O servidor já compilado com "Http Secure Link Module". Mas quando eu uso a configuração acima e tento acessar o link. Ainda posso acessar o arquivo mp4 diretamente sem o link md5. Alguém pode ajudar a resolver esse problema? Poderia pagar por qualquer solução de trabalho.
Tags php nginx apache-2.4 http httpd