使用nginx http_secure_link 编写一个m3u8 文件防盗代码
使用nginx的http_secure_link模块可以很容易地实现对m3u8文件的防盗链。以下是一个示例代码:
location /video/ {
# 设置m3u8文件的存放目录
alias /data/video/;
# 开启http_secure_link模块
secure_link $arg_md5,$arg_expires;
secure_link_md5 "$secure_link_expires$uri$remote_addr secret_key";
# 设置防盗链的有效期为10分钟
if ($secure_link = "") { return 403; }
if ($secure_link = "0") { return 410; }
# 设置防盗链过期时间
if ($secure_link_expires < time) { return 410; }
# 设置m3u8文件的Content-Type
default_type application/vnd.apple.mpegurl;
}
在上述代码中,我们首先设置了m3u8文件的存放目录为/data/video/,然后开启了http_secure_link模块,使用$arg_md5和$arg_expires来获取URL中的md5值和过期时间。接着,我们使用secure_link_md5指令生成md5值,并设置防盗链的有效期为10分钟。如果防盗链无效,则返回403错误;如果防盗链已过期,则返回410错误;否则,设置m3u8文件的Content-Type为application/vnd.apple.mpegurl
原文地址: https://www.cveoy.top/t/topic/fJvP 著作权归作者所有。请勿转载和采集!