我正在尝试使用Nginx的安全链接来保护清单文件和ts文件的HLS请求,但是我在地图上的regex表达式方面很挣扎。
我已经尝试过几个Regex,但是没有一个能像预期的那样工作。我在Nginx中包含了最新的Regex和安全链接配置。
还有我用来生成MD5的openssl命令。
map $uri $hls_uri {
~*^(?<base_uri>.*)/[^/]+$ $base_uri;
default $uri;
}
secure_link $arg_md5,$arg_expires;
secure_link_md5 "$secure_link_expires$hls_uri secret";
if ($secure_link = "") { return 403; }
if ($secure_link = "0") { return 410; }
echo -n '1559610000directory secret' | openssl md5 -binary | openssl base64 | tr '+/' '-_' | tr -d '='
理想情况下,宁愿仅在openssl命令中提供目录(因为m3u8和ts文件的文件名不同)。
请求URL的示例是: http://example.com/directory/playlist.m3u8
并且Nginx应该只使用“目录”而不是playlist.m3u8或整个URL
谢谢 安德鲁