私は多くの時間をかけて答えを探し出し、私はすべてを試しました。 rtmpストリームをHLSストリームにプッシュするnginxサーバーを実行しています。以下はnginx - auth_requestを使ってHLSストリームを保護しようとしています
私はURLからパラメータを取得し、それが一致した場合はOK 200に応答していますPHPページを通じてストリームを認証しようとしています私のnginx.conf
location /hls {
types {
application/vnd.apple.mpegurl m3u8;
}
root /mnt/;
set $auth_request_uri "http://SERVER:8000/auth_ext.php?token=$arg_token";
auth_request /auth/;
add_header Cache-Control no-cache; # Prevent caching of HLS fragments
add_header Access-Control-Allow-Origin *; # Allow web player to access our playlist
}
location /auth/ {
internal;
proxy_pass $auth_request_uri;
proxy_pass_request_body off;
proxy_set_header Content-Length "";
proxy_set_header X-Original-URI $request_uri;
}
の一部です。私のDBのトークン。
これまでのところ、私は認証することができました。つまり、トークンが一致していればhttp://SERVER:8080/hls/stream.m3u8?token=TOKENにアクセスできますが、ここでは何が起こるのですか。
私は、帯域幅に応じてストリームを適応メインM3U8ストリームを持っている、と私はコンソールでstream.m3u8にアクセスしたとき、私はパラメータはいけないので、最後の3 M3U8 404応答この
http://SERVER:8080/hls/stream.m3u8?token=TOKEN
http://SERVER:8080/hls/stream_mid.m3u8
http://SERVER:8080/hls/stream_hd720.m3u8
http://SERVER:8080/hls/stream_src.m3u8
を見ますしたがって、URLは応答しませんが、ロードされないストリームがあります。 またM3U8自身で、.TSファイルも取得する最初のM3U8へONE最初のコールが認証されているときには、このように、残りのM3U8とTSファイルにアクセスすることが可能に対処または200を返す方法404
コード?
私は本当に私は自分自身を明らかにした願って、私は
はすべて