hls 스트리밍을위한 nginx 구성에 문제가 있습니다. 내가 사용 kaltura의 nginx VOD 모듈 을 추가하려고 ngx_http_secure_link_module
스트림을 보호하기 위해. 이상한 점은 활성화하면 ngx_http_secure_link_module
(아래 로그) 404 오류가 발생한다는 것입니다 . 끝에 index.m3u8 파일을 찾을 수 없기 때문에 보안 링크 차단에 주석을 달면 정상적으로 작동합니다.
또한 location ~ \.m3u8$ {}
블록 안에 별칭을 추가하려고했지만 작동하지 않았습니다. 내가 무엇을 잘못하고 있지? 스트림을 보호하는 방법?
내 스트림 링크 : https://stream.example.com/hls/c14de868-3130-426a-a0cc-7ff6590e9a1f/index.m3u8?md5=0eNJ3SpBd87NGFF6Hw_zMQ&expires=1609448340
내 NGINX 설정 :
server {
listen 9000;
server_name localhost;
# root /srv/static;
location ^~ /hls/ {
# the path to c14de868-3130-426a-a0cc-7ff6590e9a1f file
alias /srv/static/videos/1/;
# file with cors settings
include cors.conf;
vod hls;
# 1. Set secret variable
set $secret "s3cr3t";
# 2. Set secure link
secure_link $arg_md5,$arg_expires;
secure_link_md5 "$secure_link_expires $secret";
# if I comment this block everything works fine (but security)
location ~ \.m3u8$ {
if ($secure_link = "") { return 403; }
if ($secure_link = "0") { return 403; }
}
}
}
NGINX 로그 :
답변
이 블록을 서버 디렉토리로 옮기고 vod hls;
내부에 추가했습니다 .
location ~ \.m3u8$ {
include cors.conf;
vod hls;
if ($secure_link = "") { return 403; }
if ($secure_link = "0") { return 403; }
}