質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Vue.js

Vue.jsは、Webアプリケーションのインターフェースを構築するためのオープンソースJavaScriptフレームワークです。

Amazon CloudFront

Amazon CloudFrontは、AWSの高速且つ高パフォーマンスなコンテンツ配信(CDN) サービス。容量の大きいコンテンツをキャッシュさせてWebサーバの負荷を軽減し、サーバダウンの防止など安定した配信が可能になります。

Amazon S3

Amazon S3 (Simple Storage Service)とはアマゾン・ウェブ・サービスが提供するオンラインストレージサービスです。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

Q&A

0回答

1524閲覧

AWSのCloudfront--S3にあるhlsファイルに、認証Cookieでアクセスが直接は出来るが、間接だと出来なくなる

kutu

総合スコア257

Vue.js

Vue.jsは、Webアプリケーションのインターフェースを構築するためのオープンソースJavaScriptフレームワークです。

Amazon CloudFront

Amazon CloudFrontは、AWSの高速且つ高パフォーマンスなコンテンツ配信(CDN) サービス。容量の大きいコンテンツをキャッシュさせてWebサーバの負荷を軽減し、サーバダウンの防止など安定した配信が可能になります。

Amazon S3

Amazon S3 (Simple Storage Service)とはアマゾン・ウェブ・サービスが提供するオンラインストレージサービスです。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

0グッド

0クリップ

投稿2021/04/26 02:34

お世話になっております。参照サイトを見ながら、下記の処理を行おうとしました。
【やりたいこと】
1.s3にhlsファイルを置く。
2.Cloudfrontで1のs3にアクセスする。
3.CloudFrontのアクセスに認証cookieがないとアクセスできないようにする。
4.vueで生成されたstaticファイル内のvideoタグでhlsファイルを再生する。

※参照サイト
https://dev.classmethod.jp/articles/video-js-play-hls-streaming-s3-cloudfront-cors/

【行ったこと】
1.vue生成のstaticファイル(以下vueファイル)から呼び出されるAjax(PHP)ファイルで認証Cookie文字列を生成し、返す
2.vueファイルで応答された文字列を使用し、cookieとして取り扱う
==> ディベロッパーツールのApplicationパネルでcookieを確認
3.vueファイルのvideo.jsで読み込もうとすると以下のエラー

Access to XMLHttpRequest at 'https://cloudfront.test.com/hls_file/output.m3u8' from origin 'https://vue.test.com' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.

==> ブラウザに直接URL"https://cloudfront.test.com/hls_file/output.m3u8"を打ち込むとアクセスできる(ダウンロード開始)

【主な設定】
・s3
1.ブロックパブリックアクセス (バケット設定)
==> 「パブリックアクセスをすべてブロック」をOff
==> 「新しいアクセスコントロールリスト (ACL) を介して付与されたバケットとオブジェクトへのパブリックアクセスをブロックする」をOff
2.Cross-Origin Resource Sharing (CORS)

{ "AllowedHeaders": [ "*" ], "AllowedMethods": [ "GET" ], "AllowedOrigins": [ "https://vue.test.com", "vue.test.com", ], "ExposeHeaders": [], "MaxAgeSeconds": 3000 }

・Coudfront
1.Alternate Domain Names(CNAMEs)
==> cloudfront.test.com

・Route53
1.CNAMES
==> cloudfront.test.com

おわかりになる方いらっしゃいましたら、よろしくお願いいたします

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問