2016-11-01 15 views
1

私は、そのフォルダ構造内のcssとjavascriptファイルを参照するhtmlファイルを含むフォルダ構造を、プライベートな紺碧のBLOBストレージコンテナにアップロードしようとしています。Azureストレージ - ファイル構造を持つコンテナを公開する

htmlファイルを閲覧すると、ウェブサイトの一部としてhtmlファイルであるかのように、cssファイルとjavascriptファイルを取得することを期待しています。

コンテナが完全に公開されている場合、私はこの作業を行うことができますが、コンテナがプライベートで、SASトークンを提供しても同じ結果を達成するのには苦労しています。

「main.html」というhtmlファイルと「css/mystyles.css」というcssファイルがコンテナに含まれているとします(main.htmlには、次の相対URLを示すcssファイルのlinkタグがあります)。 "css /mystyles.css ")。

私はコンテナにSASトークンを作成する場合は、そのようSASトークンを付加し、main.htmlをファイルに移動し、(ちょうど簡単のために「mySAS」と呼んでみましょう):
https://my-storage-account.blob.core.windows.net/container-name/main.html?mySAS

main.htmlファイルは正しく読み込まれますが、最後にSASトークンが追加されますが、CSSファイルは404になりません。

私はすでに答えを知っていると思いますが、技術的にも可能ですhtmlファイルとそのすべてを公開コンテナに入れずに保存して提示するには?

htmlファイルで指定されたパスを変更することは、私が制御しないファイルなのでオプションではないので、事前にどのように見えるかはわかりません。


私は民間の容器に入れ、その後、オンデマンドそれを公開すると時間後に戻って民間のコンテナにそれを切り替える(非常に汚いと望ましくない)いくつかのハイブリッドソリューションがあります。

私はプライベートコンテナに公開していない、より極端なハイブリッドソリューションを利用しています。公開されていないプライベートコンテナには、最初のハイブリッドシナリオで公共のコンテナを降ろし、後で再び利用できるように意図されていないときにアクセスしてください)。

私は実際にプライベートコンテナとSASトークンソリューションを利用しています。

答えて

1

あなたの質問がSASトークンの再利用に関するものなら、あなたはできません。 URL + SASの組み合わせを生成する必要があり、SASはURLに基​​づいたハッシュです。一度SASトークンを作成してURLに追加することはできません。そうしないと、誰かがURLを推測して1つのURLのSASを別のURLに追加するのを止めることはできません。

バックエンドロジックを持たない静的サイトを作成することを目標とする場合は、コンテンツを公開する必要があります(または、SASを正しく追加するためにすべてのURLを事前に生成する必要があります)。

あなたは、ダイナミックアクセスしたい場合(例えば、あなたがコンテンツをアップ提供されるか分からない)、あなたはコンテンツを提供するバックエンドアプリケーションサーバーのいくつかの種類を持っている必要があるだろう(例えば、適切なSASベースに新しいHTMLページを返します。様々なタグに埋め込まれたリンク)。

関連する問題