2017-07-31 11 views
1

私はCFで起源として2つのS3バケットを定義しました。CloudFrontのマルチオリジンとキャッシュ動作の問題

Origin 1 : mybucket1.amazonaws.com 
Origin 2 : mybucket2.amazonaws.com/images 

私はmybucket2に画像フォルダを配布したいだけです。

私は、URLに https://lksngfd4w24.cloudfront.net/images/image1.jpg

を使用して画像にアクセスしようとしたOrigin2

を指すパスパターン/imagesでキャッシュの振る舞いを作成したCFは、キャッシュの振る舞い路パターンを追加しているように思えますs3パス。上記のURLは以下のようなエラーを投げます。

CFを停止してS3 URLへのパスプレフィックスを追加する方法はありますか。あるいは、単一のディストリビューションを使用するが、複数の起点を持つこの種の要件を達成する他の方法があります。あなたの条件のために

答えて

1

、ベースパスの両方の起源を追加し、 にのために/ *

  • デフォルトの動作が起源1
  • 行動/画像/ *オーバーライドなるような動作を設定起源2

注:Origin 2では、これが動作するための画像フォルダが必要ですが、これはS3起源へのCloudFrontビヘイビアマッピングの制限です。

さらに拡張が必要な​​場合は、Edge URLを使用してリクエストURLを異なるパスに変更して実行できます。

+0

これを達成する方法です。私の懸念は、CFがbucket2の内容全体を配布しようとしていることです.2私はバケットポリシーを適用して、CFが画像フォルダにアクセスするのを避けるようにしました。 AmazonがCF-S3の統合性を大幅に向上させることを願っています。私はラムダをスキップしてデザインのシンプルさを抑え、ベンダlocking.Solutionは最適ではないが動作します。ありがとうと非常に感謝します。 – Anuruddha

関連する問題