编辑非静态(网站)s3存储桶的网址?

时间:2015-01-05 16:46:50

标签: amazon-web-services amazon-s3

我创建了一个名为" test.download.abc.com"的S3存储桶。此存储桶的目的是在用户单击链接Download下载文件时简单地提供可执行文件(exes)。在这里,人们可以看到的href属性是" https://s3-us-west-2.amazonaws.com/test.download.abc.com/MyFolder/MyClient.exe"

我的目的是更改用户在悬停到" http://test.download.abc.com/MyFolder/MyClient.exe"时看到的网址。 - 实现它的一种方法是在href上使用此URL并在点击时将其重定向到下载文件 - 这是有效的。

我想知道是否有任何记录集" Cname"或" Alias"我可以在" Route 53" AWS实现同样的目标。我读到了虚拟主机文章,其中存储桶需要配置为静态网站 - 除了没有默认网站页面之外,它似乎不适合我的目的。对我来说,实现同样的目标是什么?谢谢大家。

3 个答案:

答案 0 :(得分:2)

如果您不想使用静态站点路由,可以设置一个服务于s3存储桶内容的云端分发,然后设置自定义名称。

更多信息: http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/CNAMEs.html

  

在CloudFront中,备用域名(也称为CNAME)允许   您使用自己的域名(例如,www.example.com)获取链接   到您的对象而不是使用CloudFront的域名   分配给您的发行版。 Web和RTMP分发都支持   备用域名。

     

创建分发时,CloudFront会返回一个域名   分发,例如:

     

d111111abcdef8.cloudfront.net

     

当您为对象使用CloudFront域名时,其URL为   名为/images/image.jpg的对象是:

     

http://d111111abcdef8.cloudfront.net/images/image.jpg

     

如果您想使用自己的域名,例如www.example.com,   而不是CloudFront分配给的cloudfront.net域名   您的发行版,您可以为您的分配添加备用域名   分发www.example.com。然后,您可以使用以下URL   为/images/image.jpg:

     

http://www.example.com/images/image.jpg

答案 1 :(得分:1)

这里的解决方案看似简单。

您需要做的就是在DNS服务器中将主机名设置为引用存储桶的REST端点虚拟主机名的CNAME。

对于名为" bucket.example.com的存储桶,"在" example.com" DNS区域,添加:

bucket  IN  CNAME  bucket.example.com.s3.amazonaws.com.
  

[...]请求的存储区是Host标头的小写值,请求的密钥是Request-URI。当您注册与存储桶名称相同的DNS名称并将该名称配置为Amazon S3的CNAME别名时,此解释非常有用

http://docs.aws.amazon.com/AmazonS3/latest/dev/VirtualHosting.html

与静态网站托管相同。它使用CNAME直接引用存储桶的REST端点。当然,这仅适用于子域名,因为CNAME不属于域的顶点。

答案 2 :(得分:0)

CloudFront不需要满足您的要求,您可以启用S3来提供静态Web内容,如此处所述

http://docs.aws.amazon.com/AmazonS3/latest/dev/HowDoIWebsiteConfiguration.html

您还需要将Route 53配置为CNAME或A别名记录到您的存储区

请参阅此示例,其中包含S3和Route 53:http://docs.aws.amazon.com/AmazonS3/latest/dev/website-hosting-custom-domain-walkthrough.html