Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon s3 将多个子域映射到同一个S3存储桶_Amazon S3_Dns_Amazon Web Services_Amazon Cloudfront - Fatal编程技术网

Amazon s3 将多个子域映射到同一个S3存储桶

Amazon s3 将多个子域映射到同一个S3存储桶,amazon-s3,dns,amazon-web-services,amazon-cloudfront,Amazon S3,Dns,Amazon Web Services,Amazon Cloudfront,是否有办法将多个(数千)子域映射到一个s3存储桶? 如果是,是否也可以将其映射到每个子域的bucket中的特定路径 我希望test1.example.com映射到mybucket/test1,test2.example.com映射到mybucket/test2 我知道最后一部分在正常的dns记录中是不可能的,但可能有一些漂亮的Route 53功能?直接使用S3是不可能的。您只能将1个子域与S3存储桶一起使用 但是,您可以将多个子域映射到一个分发 更新(感谢下文) 您现在可以将多达100个备用域映

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

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


我知道最后一部分在正常的dns记录中是不可能的,但可能有一些漂亮的Route 53功能?

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

但是,您可以将多个子域映射到一个分发

更新(感谢下文)

您现在可以将多达100个备用域映射到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


从2012年10月开始,Amazon引入了一个函数来处理S3存储桶的重定向(HTTP 301)。您可以通过Console/API阅读和参考以了解配置

来自AWS S3文件:

  • 如果您的根域是example.com,并且您希望为和提供请求服务,则重定向所有请求 ,可以创建两个名为 example.com和www.example.com,仅在中维护网站内容 一个bucket,比如example.com,并将另一个bucket配置为 将所有请求重定向到example.com bucket

  • 高级条件重定向您可以根据中的特定对象键名称或前缀有条件地路由请求 请求,或根据响应代码。例如,假设 删除或重命名bucket中的对象。您可以添加一个 将请求重定向到另一个对象的路由规则。假设 您希望使文件夹不可用。您可以添加路由 将请求重定向到另一个页面的规则,这解释了原因 该文件夹不再可用。您还可以添加路由规则 通过路由返回 错误转移到另一个域,将在其中处理错误


@Martin-说明在我的Cloudfront文档链接中。我在回答中添加了一个摘录。你能让“img.domain1.com”和“img.domain2.com”访问AmazonS3存储桶吗?这将如何增加成本?@vortola,答案是肯定的。这是在亚马逊云端完成的。这就是这个答案所描述的。@GeoffAppleford我知道这是非常古老的,但人们显然是在谷歌上点击这一点的,若你们有第二时间,你们能更新答案吗?现在,您可以直接在AWS cloudfront发行版中添加100条CNAME记录。根本不需要去53路,谢谢!这是绝对正确的,并且应该更新为正确答案,因为问题提出后S3存储桶发生了变化。显然,CloudFront解决方案会起作用,但如果您不想使用CDN,这是完美的。这会起作用,但会更改实际的URL。因此,如果希望用户看到两个不同的域,您仍然不能让两个不同的域指向同一个bucket内容