ApsaraVideo Liveでは、ストリーム取り込みコールバックURLを設定し、コールバックURLを認証できます。 これにより、不正アクセスによって引き起こされるライブストリーミング例外を防ぐことができます。 このトピックでは、ストリーム取り込みコールバックURLを設定する方法と、コールバックURLを認証する方法について説明します。
手順
ストリーム取り込みに関連するコールバックメッセージを受信する場合は、次の手順を実行してストリーム取り込みコールバックURLを設定し、コールバックURLを認証します。
コールバックロジックとコールバック認証の詳細については、「コールバックロジック」および「コールバック認証」をご参照ください。
ApsaraVideo Liveコンソールにログインします。
左側のナビゲーションウィンドウで、[ドメイン名] をクリックします。 ドメイン管理 ページが表示されます。
設定したい取り込みドメインを見つけて、[アクション] 列に表示されるドメイン設定をクリックします。
を選択します。 表示されるページで、アップストリーミング情報 タブをクリックします。
コールバックURLの横にある編集アイコンをクリックします。 [コールバックURLの設定] ダイアログボックスが表示されます。
コールバックURLの設定ダイアログボックスで、設定を構成します。
ストリーム取り込みコールバックURLを指定します。
コールバックURLの認証を有効にするかどうかを選択します。
認証が必要な場合は、[認証] をオンにして [暗号化キー] を指定し、OK をクリックします。
認証が不要な場合は、OK をクリックします。
コールバックロジック
コールバックロジック
Real-Time Messaging Protocol (RTMP) によるストリーム取り込み中、ApsaraVideo Liveは、ApsaraVideo LiveがOnPublishメッセージを受信してから2秒以内にストリーム取り込みクライアントが接続を閉じるかどうかを確認します。 ストリーム取り込みクライアントが接続を閉じない場合、ApsaraVideo Liveはストリーム取り込みの成功に関するコールバック通知を送信します。
互いに関連付けられた取り込みドメインAとストリーミングドメインBがあり、ストリーミングドメインBの通常のストリームプルとトリガーされたストリームプルを設定したとします。ストリームプルのステータスに関するコールバック通知を受信する場合は、取り込みドメインAのストリームインジェストコールバックを設定します。クライアントが2秒以内に接続を閉じない場合、ストリームプルは成功と見なされます。
コールバック通知とDescribeLiveStreamsOnlineList操作の呼び出しに対する応答に基づいて、ストリームの取り込みまたはプルが成功したことを確認した後、ストリーミングURLを発行することを推奨します。
コールバック認証
デフォルトでは、ストリーム取り込みコールバックの認証は無効になっています。 ストリーム取り込みコールバックURLを指定すると、この機能を有効にできます。 この機能を有効にすると、次の認証ロジックが適用されます。
ApsaraVideo Liveがコールバックリクエストを開始すると、HTTPまたはHTTPSリクエストに
ALI-LIVE-TIMESTAMP
およびALI-LIVE-SIGNATURE
ヘッダーが含まれ、コールバックメッセージ受信サーバーが署名を認証できるようになります。ALI-LIVE-SIGNATURE
の値は、次の式に基づいて計算されます。ALI-LIVE-SIGNATURE = MD5SUM (MD5CONTENT)
MD5CONTENT=ドメイン名 | ALI-LIVE-TIMESTAMP値 | 暗号鍵
説明ドメイン名は、コールバックURLを設定するインジェストドメインです。 暗号化キーは、コールバックURLに指定する暗号化キーです。
コールバックメッセージを受信した後、コールバックメッセージ受信サーバーは、コールバックのドメイン名、
ALI-LIVE-TIMESTAMP
ヘッダーの値、および暗号化キーを上記の形式で連結します。 サーバーは文字列のMD5値を計算して暗号化文字列を取得します。 次に、サーバーは暗号化された文字列を、ApsaraVideo Liveによって開始されたHTTPまたはHTTPSリクエストのALI-LIVE-SIGNATURE
ヘッダーの値と比較します。 2つの値が異なる場合、リクエストは無効です。