13

有没有办法将多个(数千个)子域映射到一个 s3 存储桶?如果是这样,是否也可以将其映射到每个子域的存储桶中的特定路径?

我希望 test1.example.com 映射到 mybucket/test1 和 test2.example.com 映射到 mybucket/test2。

我知道最后一部分对于普通的 dns 记录是不可能的,但也许有一些漂亮的 Route 53 功能?

4

2 回答 2

15

直接使用 S3 是不可能的。您只能将 1 个子域与 S3 存储桶一起使用。

但是,您可以将多个子域映射到Cloudfront分配。

更新(感谢@SimonHutchison下面的评论)

您现在最多可以将 100 个备用域映射到 Cloudfront 分配 - 请参阅http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_cloudfront

您还可以使用通配符将任何子域映射到您的分配:

在备用域名中使用 * 通配符

添加备用域名时,可​​以在域名开头使用 * 通配符,而不是单独指定子域。例如,对于 *.example.com 的备用域名,您可以在对象 URL 中使用以 example.com 结尾的任何域名,例如 www.example.com、product-name.example.com 和 marketing .product-name.example.com。无论域名如何,对象的名称都是相同的,例如:

www.example.com/images/image.jpg

product-name.example.com/images/image.jpg

marketing.product-name.example.com/images/image.jpg

于 2011-05-26T15:44:10.307 回答
5

从 2012 年 10 月开始,Amazon 引入了一项功能来处理 S3 存储桶的重定向 (HTTP 301)。您可以在此处阅读发行说明,并通过控制台/API参考此链接进行配置。

来自 AWS S3 文档:

  • 重定向所有请求 如果您的根域是 example.com,并且您希望同时为http://example.comhttp://www.example.com提供请求,您可以创建两个名为 example.com 和 www.example 的存储桶.com,仅在一个存储桶中维护网站内容,例如 example.com,并配置另一个存储桶以将所有请求重定向到 example.com 存储桶。

  • 高级条件重定向 您可以根据请求中的特定对象键名或前缀,或根据响应代码,有条件地路由请求。例如,假设您删除或重命名存储桶中的对象。您可以添加将请求重定向到另一个对象的路由规则。假设您想让一个文件夹不可用。您可以添加路由规则以将请求重定向到另一个页面,这解释了该文件夹不再可用的原因。您还可以添加路由规则来处理错误情况,方法是将返回错误的请求路由到另一个将处理错误的域。

于 2014-06-14T10:19:52.770 回答