本ページは広告が含まれています。気になる広告をクリック頂けますと、サーバ運営費になります(^^
Nginxで映像配信したい。RTMP配信でWeb Playerを利用する。
エンコーダから、配信サーバに向けてエンコードする際には、ストリーム名にユーザ名・パスワードを忍ばせる事ができるようにし、これに合致しないと送信できないようにする。
https://www.techlive.tokyo/archives/1334
配信時直リンクを避けるSecurelink機能を利用する。
https://www.techlive.tokyo/archives/1351
再生時はbasic認証にてホームページパスワードをかける。
https://www.techlive.tokyo/archives/1290
phpにパスワードをかけたい
https://www.techlive.tokyo/archives/1414
この時に問題になるのが、basic認証にてphpまで認証できるようにするとその認証場所によって、エンコーダから、配信サーバへのストリーム名の認証で利用するphpファイルにもbasic認証が必要となり、エンコードができなくなってしまう。(on_publish で利用する auth.phpも認証がかかってしまい正常に配信できなくなる)
回避方法
1.auth.phpは、専用のディレクトリに配置。認証はかけない。
/usr/local/nginx/html/publishauth$ ls
auth.php
引数がない時は File not foundを表示
//check if querystrings exist or not if(empty($_GET['user']) || empty($_GET['pass'])) { //no querystrings or wrong syntax echo "File not found."; header('HTTP/1.0 404 Not Found'); exit(1); }
ストリーミング受付をパスワード認証させる方法はちら
https://www.techlive.tokyo/archives/1334
2.ベーシック認証は映像配信用のwebプレーヤを配置するディレクトリのみにかける
location /live/ { auth_basic "Hanako Bassic Test"; auth_basic_user_file "/usr/local/nginx/passwd/.htpasswd"; location ~ \.php$ { fastcgi_pass unix:/var/run/php/php7.0-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } }