403が起こる場所
| Request | 考えられる原因 | 何をテストするか |
|---|---|---|
| トップレベルの .m3u8 は 403 を返します | 署名されたマニフェスト URL の有効期限が切れているか、オリジンが直接アクセスをブロックしています。 | ソース ページから新しい URL をキャプチャし、すぐにテストします。 |
| 子プレイリストが 403 を返す | マスター マニフェストはロードされますが、バリアント プレイリストは個別に保護されます。 | 正常性レポートを実行し、各品質トラックが同じパスを介して読み込まれることを確認します。 |
| AES-128 キーは 403 を返します | 暗号化されたストリームはマニフェストを公開しますが、キーエンドポイントは保護します。 | 必要な Referer を持つプロキシを使用するか、DRM が関係する場合は承認されたプレーヤーを使用します。 |
| セグメントは 403 を返します | CDN は、トークン、IP、Referer、またはヘッダー ルールにより .ts または .m4s リクエストを拒否します。 | サンプリングされたセグメントをテストし、直接とプロキシされた HLS URL の混合を避けてください。 |
| ブラウザは 403 のみを返します | サーバーは VLC または元のページを受け入れますが、ブラウザーのリクエスト形式は拒否します。 | 元のページを Referer として設定し、許可されている場合は通常のブラウザ User-Agent を使用します。 |
M3U8 403 禁止のトラブルシューティング方法
- 1どの HLS リクエストが 403 を返したかを特定する最初の M3U8 URL で止まらないでください。 403 がマスター マニフェスト、メディア プレイリスト、AES-128 キー、またはメディア セグメントで発生するかどうかを確認します。
- 2期限切れの署名付き URL を更新するURL にトークン、署名、または有効期限パラメータが含まれている場合は、ソース ページから新しい M3U8 リンクを取得し、トークンの有効期限が切れる前にテストします。
- 3プロキシを使用したテスト再生プロキシを有効にすると、マニフェスト、キー、セグメントのリクエストが、直接の URL とプロキシされた URL を混在させるのではなく、ブラウザで読み取り可能な 1 つのルートに従うようになります。
- 4必要な場合にのみ Referer または User-Agent を追加しますアクセスを許可されているホットリンクで保護されたストリームの場合は、元のページ URL を Referer として設定し、標準のブラウザ User-Agent を使用します。
- 5DRM とライセンスの境界で停止するストリームに Widevine、FairPlay、PlayReady、またはライセンス サーバーが必要な場合は、承認されたプレーヤーを使用してください。 DRM インフラストラクチャからの 403 はプロキシの問題ではありません。
403 が CORS エラーと異なる理由
CORS は、ブラウザが応答の公開を拒否しています。 403 は、オリジン サーバーがそもそも応答の提供を拒否していることを意味します。両方の問題が発生する可能性がありますが、それらは同じではありません。まず 403 を返すリクエストを見つけてから、その修正が新しい URL であるか、必要なヘッダーであるか、または承認された再生パスであるかを判断します。
署名付き M3U8 リンクの有効期限が切れる理由
多くの CDN は、有効期間の短いクエリ パラメータを使用して HLS ストリームを保護します。マスター マニフェストは数分間動作し、署名の有効期限が切れると 403 を返す場合があります。元のページからリンクを更新し、古い署名付き URL を永続的なブックマークとして保存しないでください。
カスタム Referer が正当な場合
一部のオリジンでは、ストリームが通常再生されるページからリクエストが送信された場合に、HLS アセットのみを提供します。その場合、元のページを Referer として転送するプロキシは、ブラウザでストリームをテストするのに役立ちます。これは DRM バイパスではないため、アクセスが許可されているストリームにのみ使用してください。
関連するアクセス デバッグ ページ
- カスタム Referer M3U8 プレーヤー に、直接リクエストを拒否するホットリンクで保護されたストリームをテストする方法を示します。
- HLS CORS エラー では、ブラウザのアクセス制御とサーバー拒否の違いについて説明します。
- M3U8 キーがロードされない AES-128 キー URL および暗号化された HLS 再生での 403 エラーをカバーします。
よくある質問
M3U8 403 禁止とはどういう意味ですか?
M3U8 403 禁止とは、サーバーがHLS マニフェスト、キー、またはセグメントの提供を拒否したことを意味します。一般的な原因としては、署名された URL の有効期限が切れていること、Referer ヘッダーの欠落、User-Agent フィルタリング、保護されたキー エンドポイント、DRM/ライセンス制限などが挙げられます。
M3U8 URL がブラウザでは 403 を返すのに、ソース ページでは機能するのはなぜですか?
オリジンでは、リクエストにソース ページを Referer または通常のブラウザ User-Agent として含めることを要求する場合があります。プロキシとカスタム Referer は、アクセスが許可されているストリームに対してのみ使用してください。
CORS プロキシは 403 Forbidden エラーを修正できますか?
時々。プロキシは必要なテスト ヘッダーを追加し、ブラウザで応答を読み取れるようにすることはできますが、期限切れのトークン、IP 制限、ペイウォール、DRM、またはライセンス サーバーの要件を修正することはできません。
一部の HLS セグメントだけが 403 を返すのはなぜですか?
セグメント URL には、独自の署名、CDN ルール、または有効期限ウィンドウを持つことができます。後の .ts または .m4s セグメントのリクエストが失敗する間にマニフェストが読み込まれる可能性があり、再生が停止することがあります。
このツールは DRM で保護された M3U8 ストリームをバイパスしますか?
いいえ。CORS、Referer、AES-128 キー アクセスを含む、通常の HLS アクセスの問題のデバッグには役立ちますが、 Widevine、FairPlay、PlayReady、ペイウォール、またはライセンス システムはバイパスされません。