gpt4 book ai didi

amazon-web-services - Cloudfront 同一存储桶中的多个源

转载 作者:行者123 更新时间:2023-12-04 12:40:41 24 4
gpt4 key购买 nike

我有一个 Cloudfront 发行版,我使用一个 S3 存储桶作为源。存储桶中包含私有(private)和公共(public)数据,按文件夹分隔 - public_folder_1, public_folder_2, private_folder_1, private_folder_2 .我想使用 cloudfront 仅提供 2 个公共(public)文件夹中的内容。我想向 xxx.cloudfront.net/public_folder_1/file1 提出请求去public_folder_1并请求 xxx.cloudfront.net/public_folder_2/file1public_folder_2 .

我在发行版中创建了 2 个来源,来源名称 + 路径 - mybucket/public_folder_1mybucket/public_folder_2对于 2 个文件夹。我还创建了两个带有路径模式的行为 - public_folder_1/*public_folder_2/* (我尝试在路径模式中添加前导 /,它似乎没有什么区别)。但我无法通过 cloudfront 访问文件。

如果我将任一行为的路径模式更改为 *而不是 public_folder_x/*然后我可以使用 xxx.cloudfront.net/filex 访问文件.我对此的担忧是,如果我在两个文件夹中有 2 个同名文件,cloudfront 如何知道要使用哪个文件夹作为源?我不想为每个原始路径创建和管理单独的发行版。

最佳答案

就我而言,我不明白当 CloudFront 找到匹配行为时,它会将整个 URL 路径转发到 S3。如果您的 S3 存储桶子目录中未表示匹配的目录结构,您将收到 403 响应。例如,如果您在 /developer/* 上有一个行为匹配,网址是 {hostname}/developer/thing.html ,代表您的源的 S3 存储桶目录必须有一个名为“developer”的根级子目录,其中包含 thing.html .

My concern with this is that if I have 2 files with the same name in both folders how would cloudfront know which folder to use as the origin?



您必须找到某种方法通过匹配模式来区分文件。我建议为每个源添加唯一命名的文件夹,然后根据提供的路径创建行为以转移流量:
  • 原点 1:mybucket/stuff
  • origin2:mybucket/things
  • 行为1:/stuff/* --> origin1
  • 行为2:/things/* --> origin2
  • cloudfront-url/stuff/file.html --> 返回 file.html在东西目录中,又名 origin1。
  • cloudfront-url/things/file.html --> 返回 file.html在东西目录中,又名 origin2。


  • 编辑:

    我刚刚创建了一个具有以下两个来源的发行版......

    origins

    有以下行为...

    behaviors

    而下面的桶结构...

    S3

    结果如下:
  • https://d103l0p0xb29zj.cloudfront.net/file.html > 匹配默认行为,因此返回 file.html来自 S3-stackoverflow-test-bucket/public_folder_1 .
  • https://d103l0p0xb29zj.cloudfront.net/pub1/file.html > 匹配第一个行为,返回 file.html来自 S3-stackoverflow-test-bucket/public_folder_1/pub1
  • https://d103l0p0xb29zj.cloudfront.net/pub2/file.html > 匹配第二个行为,返回 file.html来自 S3-stackoverflow-test-bucket/public_folder_2/pub2
  • 请注意 S3-stackoverflow-test-bucket/public_folder_2/file.html根据当前规则根本无法访问。

  • 我会将发行版搁置几天,以便您可以单击链接。

    关于amazon-web-services - Cloudfront 同一存储桶中的多个源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59623291/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com