Назад | Перейти на главную страницу

Модуль Nginx Http Secure Link не работает

Я использую nginx secure_link, чтобы предотвратить передачу видео по хотлинку. Если ключ основного сервера соответствует ключу удаленного сервера. Ролик можно будет получить / посмотреть. В противном случае, если пользователь обращается к ссылке напрямую, без ссылки md5, возвращается видео 403.

. .

Ключ md5 соответствует как основному, так и удаленному. И время сервера такое же.

. .

Главный сервер (Apache) Создайте ссылку, подобную этой.

http://remote_example.com/videos/myvideo.mp4?st=E_Jb6MScgyMqjUo3eNQGkA&e=1485757614

. .

Конфигурация удаленного сервера nginx. "mypassword" совпадает с настройкой основного сервера. Удаленный сервер с помощью панели 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;
}

Сервер уже скомпилирован с помощью «Http Secure Link Module». Но когда я использую конфигурацию выше и пытаюсь перейти по ссылке. Я все еще могу получить доступ к файлу mp4 напрямую без ссылки md5. Кто-нибудь может помочь решить эту проблему? Смогли бы заплатить за любое рабочее решение.