Alibaba Cloud OSS が有効なアンチリーチアップロードビデオエラー XHR エラー (req “error”)、PUT https://file.test.net/?referer= -1、Window ブラウザは正常/Safari ブラウザは異常

Alibaba Cloud OSS でアンチリーチ リンクが有効になった後、ビデオをアップロードするとき (分割してアップロードする)、Apple コンピュータのブラウザがエラー XHR エラー (req "error") を報告し、PUT https://file.test.net/?referer = -1 (接続: false 、キープアライブ ソケット: false)、ファイルのアップロードに失敗します。

vue プロジェクトは、OSS Browser.js SDK を通じて関連するファイル操作インターフェイスを呼び出します。

01. 質問

1. OSS でアンチリーチが有効になった後も、リクエスト ヘッダーはリファラーで構成されていません
2. リファラーはカプセル化された request.js で構成されています
3. vue.config.js のプロキシ設定でリファラーが設定されている
コンソールのエラーを次の図に示します。

問題エラーのスクリーンショット

02. 問題分析

1.写真をアップロードするときにエラーが表示されませんでした
2. ウィンドウコンピュータによってアップロードされたビデオは、コンソール出力が間違っていても正常に実行できます。
3. Apple コンピュータがビデオをアップロードするときにもコンソールはエラーを出力しますが、実行を続けることはできません。

03. 問題解決

1. Alibaba Cloud をリクエストするリクエストメソッドでヘッダーを設定する必要があります
2. ヘッダーの設定パラメータは 'Referer': 'www.test.net' (Alibaba Cloud OSS コンソールにバインドされた OSS ソース サイトのドメイン名) です。
3. Alibaba Cloud OSS コンソールにバインドされている OSS ソース サイトのドメイン名にローカル IP アドレス (192.168.88.*) を追加するのが最善です。そうしないと、ローカルまたはテスト環境が Ali OSS ファイルにアクセスできなくなります。

構成は次の図に示されています
構成情報

特別なケース

以下の図に示すように、Alibaba Cloud SDK をリクエストする前に putBucketReferer(client) メソッドを呼び出します。
進入禁止
このエラーは図のメソッドでも発生しますが、これを削除すると正常に戻ります

以下の図に示すようにパラメータが導入されます
putBucketReferer パラメーターの概要

おすすめ

転載: blog.csdn.net/mrliucx/article/details/130356948