Nginx Http 安全链接模块不工作

Nginx Http 安全链接模块不工作

我正在使用 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 安全链接模块”编译。但是当我使用上面的配置并尝试访问链接时。我仍然可以直接访问 mp4 文件,而无需 md5 链接。有人可以帮忙解决这个问题吗?愿意为任何可行的解决方案付费。

相关内容