我创建了一个名为" 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实现同样的目标。我读到了虚拟主机文章,其中存储桶需要配置为静态网站 - 除了没有默认网站页面之外,它似乎不适合我的目的。对我来说,实现同样的目标是什么?谢谢大家。
答案 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:
答案 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