#author("2020-10-11T11:05:09+09:00","default:egashira","egashira")
#author("2020-10-11T11:06:29+09:00","default:egashira","egashira")
[[CentOS7]]

*動画視聴認証設定 [#icf5981c]
**nginx暗号化通信有効化 [#me4426ea]
|BGCOLOR(black):COLOR(white):|c
|[root@centos ~]# systemctl stop nginx &color(lime){← nginx停止};|
|[root@centos ~]# wget https://nginx.org/download/nginx-1.17.3.tar.gz &color(lime){← nginxダウンロード};|
|※最新版の[[ダウンロードページ>https://nginx.org/en/download.html]]URL|
|[root@centos ~]# tar zxf nginx-*.tar.gz &color(lime){← nginx展開};|
|[root@centos ~]# cd nginx-* &color(lime){← nginx展開先ディレクトリへ移動};|
|[root@centos nginx-1.17.3]# git clone https://github.com/arut/nginx-rtmp-module.git &color(lime){← nginx-rtmp-moduleダウンロード};|
|[root@centos nginx-1.17.3]# ./configure --add-module=nginx-rtmp-module/ --with-http_ssl_module --with-debug && make && make install &color(lime){← nginx+nginx-rtmp-moduleインストール};|
|[root@centos nginx-1.17.3]# cd &color(lime){← nginx展開先ディレクトリを抜ける};|
|[root@centos ~]# rm -rf nginx-* &color(lime){← nginx展開先ディレクトリとダウンロードしたファイルを削除};|
|[root@centos ~]# systemctl start nginx &color(lime){← nginx起動};|


**nginx設定 [#b29979fc]
+サーバー証明書取得&br;暗号化通信するためサーバー証明書を取得する。&br;&br;[[Webサーバー間通信内容暗号化(Apache+mod_SSL+Certbot)]]を実施
--Certbotクライアントインストール
--サーバー証明書取得
--サーバー証明書自動更新設定
+nginx設定
|BGCOLOR(black):COLOR(white):|c
|[root@centos ~]# vi /usr/local/nginx/conf/nginx.conf &color(lime){← nginx設定ファイル編集};|
     server {
         listen       80;
         server_name  localhost;
 
         httpからhttpsへの自動リダイレクト設定追加(ここから)
         # httpをhttpsへリダイレクト
         if ($request_uri !~ /on_play) {
             return 301 https://$host:443$request_uri;
         }
         httpからhttpsへの自動リダイレクト設定追加(ここまで)
 
 ・
 ・
 ・
     # HTTPS server
     #
     #server {
     #    listen       443 ssl;
     #    server_name  localhost;
 
     #    ssl_certificate      cert.pem;
     #    ssl_certificate_key  cert.key;
 
     #    ssl_session_cache    shared:SSL:1m;
     #    ssl_session_timeout  5m;
 
     #    ssl_ciphers  HIGH:!aNULL:!MD5;
     #    ssl_prefer_server_ciphers  on;
 
     #    location / {
     #        root   html;
     #        index  index.html index.htm;
     #    }
     #}
 
     暗号化通信設定追加(ここから)
     動画視聴認証設定追加(ここから)
     動画ファイルの直接再生禁止設定追加(ここから)
     # HTTPS server
     #
     server {
         listen       443 ssl; ← HTTPSポート変更
         server_name  localhost;
 
         ssl_certificate      /etc/letsencrypt/live/centossrv.com/fullchain.pem; ← サーバー証明書と中 間証明書
         ssl_certificate_key  /etc/letsencrypt/live/centossrv.com/privkey.pem; ← 秘密鍵
         ssl_certificate      /etc/letsencrypt/live/server.com/fullchain.pem; ← サーバー証明書と中 間証明書
         ssl_certificate_key  /etc/letsencrypt/live/server.com/privkey.pem; ← 秘密鍵
 
         # faviconが存在しない旨のログを出力しないようにする
         location /favicon {
             empty_gif;
             access_log    off;
             log_not_found off;
         }
 
         # 動画視聴認証設定
         location / {
             satisfy any;
             allow 192.168.1.0/24; # 192.168.1.0/24からのみ認証なしでアクセスを許可
             deny all;
             auth_basic "STREAMING PAGE";
             auth_basic_user_file "/usr/local/nginx/passwd/.htpasswd";
         }
 
         # 動画ファイルの直接再生禁止設定
         location /vod/ {
             valid_referers server_names centossrv.com;
             valid_referers server_names server.com;
             if ($invalid_referer) { return 403; }
         }
         location /live/ {
             valid_referers server_names centossrv.com;
             valid_referers server_names server.com;
             if ($invalid_referer) { return 403; }
         }
 
     #    ssl_session_cache    shared:SSL:1m;
     #    ssl_session_timeout  5m;
 
     #    ssl_ciphers  HIGH:!aNULL:!MD5;
     #    ssl_prefer_server_ciphers  on;
 
         ssl_ciphers ECDH:!aNULL:!eNULL:!SSLv2:!SSLv3;
         ssl_prefer_server_ciphers  on;
 
     #    location / {
     #        root   html;
     #        index  index.html index.htm;
     #    }
     }
     暗号化通信設定追加(ここまで)
     動画視聴認証設定追加(ここまで)
     動画ファイルの直接再生禁止設定追加(ここまで)
|BGCOLOR(black):COLOR(white):|c
|[root@centos ~]# systemctl restart nginx &color(lime){← nginx再起動};|
+ポートTCP443番のOPEN&br;ルーター側の設定でポートTCP443番をOPENする。&br;※ルーターの設定は各ルーターのマニュアルまたはメーカー別ルーターポート開放手順を参照
+認証用ユーザー名/パスワード登録
|BGCOLOR(black):COLOR(white):|c
|[root@centos ~]# mkdir /usr/local/nginx/passwd/ &color(lime){← ユーザー名/パスワードファイル作成先ディレクトリ作成};|
|[root@centos ~]# yum -y install httpd-tools &color(lime){← httpd-toolsインストール};|
|[root@centos ~]# htpasswd -b -c -m /usr/local/nginx/passwd/.htpasswd &color(lime){ユーザー名 パスワード ← ユーザー名/パスワード登録};|
|Adding password for user xxxxxxxx|


**オンデマンド配信動画視聴認証確認 [#d2bdc340]
-内部のPCブラウザからhttps://サーバー名/vod.htmlへアクセスして認証なしで動画が視聴できること
-外部のPCブラウザからhttps://サーバー名/vod.htmlへアクセスしてユーザー名/パスワード入力後、動画が視聴できること
-内部のiPhoneまたはiPadからhttps://サーバー名/vod.htmlへアクセスして認証なしで動画が視聴できること
-外部のiPhoneまたはiPadからhttps://サーバー名/vod.htmlへアクセスしてユーザー名/パスワード入力後、動画が視聴できること
-VLC media playerを起動して「メディア」-「ネットワークストリームを開く」で「ネットワークURL」にhttps://RTMPサーバー名:443/アプリケーション名/動画ファイル名.m3u8(例:https://centossrv.com/vod/test.m3u8)を入力して「再生」ボタン押下で動画が再生されないこと
-VLC media playerを起動して「メディア」-「ネットワークストリームを開く」で「ネットワークURL」にhttps://RTMPサーバー名:443/アプリケーション名/動画ファイル名.m3u8(例:https://server.com/vod/test.m3u8)を入力して「再生」ボタン押下で動画が再生されないこと


**ライブ配信動画視聴認証確認 [#ee7265b9]
-内部のPCブラウザからhttps://サーバー名/live.htmlへアクセスして認証なしでカメラ映像・音声が視聴できること
-外部のPCブラウザからhttps://サーバー名/live.htmlへアクセスしてユーザー名/パスワード入力後、カメラ映像・音声が視聴できること
-内部のiPhoneまたはiPadからhttps://サーバー名/live.htmlへアクセスして認証なしでカメラ映像・音声が視聴できること
-外部のiPhoneまたはiPadからhttps://サーバー名/live.htmlへアクセスしてユーザー名/パスワード入力後、カメラ映像・音声が視聴できること
-VLC media playerを起動して「メディア」-「ネットワークストリームを開く」で「ネットワークURL」にhttps://RTMPサーバー名:443/アプリケーション名/ストリームキー.m3u8(例:https://centossrv.com/live/live.m3u8)を入力して「再生」ボタン押下で動画が再生されないこと
-VLC media playerを起動して「メディア」-「ネットワークストリームを開く」で「ネットワークURL」にhttps://RTMPサーバー名:443/アプリケーション名/ストリームキー.m3u8(例:https://server.com/live/live.m3u8)を入力して「再生」ボタン押下で動画が再生されないこと

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS