【发布时间】:2017-06-14 18:40:54
【问题描述】:
有没有办法使用 S3 配置 单个 CloudFront 分配,以便
hello.world.com 将提供来自my-bucket.s3.amazonaws.com/hello 的文件,而foo.world.com 将提供来自my-bucket.s3.amazonaws.com/foo 的文件?
我添加了一个带有 *.world.com 通配符 CNAME 的新发行版,我可以按照描述添加来源(通过指定根文件夹),但我不知道如何根据子域路由请求。在行为设置中,有path pattern,但我认为它不适用于域,而不是文件的路径。
基本上,我想做路径重写,用单个 s3 存储桶的单个云端分发上的子域替换第一个目录。
【问题讨论】:
-
您是否尝试过创建单独的 CloudFront 分配
-
这是可以做到的,我一直在寻找答案。如果您熟悉我的答案,他们是sometimes,而是,嗯,彻底......所以我需要一点时间。但我突然想到,有些问题可能是相关的:涉及多少个通配符? foo.example.com/buzz >> example-bucket/foo/buzz 和
bar.example.com/buzz >> example-bucket/bar/buzz。 -
@Michael-sqlbot 我想要的是允许用户使用用户名注册,并将他们的上传存储在 user.website.com 下。我可以创建许多云端分发,但这需要使用 AWS API 为每个用户创建一个。假设我将有 1000 个用户作为初学者——你介意分享你的解决方案吗?
-
@Michael-sqlbot 你写过那个答案吗?我有完全相同的用例,希望用户能够选择自己的子域,然后从 S3 的文件夹中提供他们的内容(静态网站)。
-
没关系,这很可能在几行 Lambda@Edge 中完成。完成后我会发布答案。但可能需要一段时间,因为我处于研究阶段,尚未构建。
标签: amazon-web-services amazon-s3 wildcard amazon-cloudfront cname