我想在amazon.com上使用子域而不是直接url到我的s3桶.因此,而不是通过http://bucket-images.s3-eu-west-1.amazonaws.com/path/to/image.png
我想要使用的网址下载图像http://assets.domain.com/path/to/image.png
.我尝试像这样设置一个CNAME:
CNAME assets domain.com bucket-images.s3-eu-west-1.amazonaws.com
但在设置此CNAME后,当我访问域时,我从亚马逊收到此类错误:
NoSuchBucket
The specified bucket does not exist assets.domain.com 45646DFSDFSFASDF dfasdcvcvd546456454ds5fasdf4ad5f64asdfasdfccdfgvggtg
在这里,他们告诉要更改桶名:https://forums.aws.amazon.com/message.jspa ? messageID = 237562 但这没有意义.我之前曾参与过一个项目,他使用了一个与子域完全不同的桶名.所以必须有办法...任何可以帮助我的人?
对于S3,您需要匹配CNAME和存储桶名称:
存储桶名称必须与CNAME相同.所以http://images.johnsmith.net/filename是一样http://images.johnsmith.net.s3.amazonaws.com/filename如果CNAME创建映射images.johnsmith.net到images.johnsmith .net.s3.amazonaws.com
因此,在您的具体示例中,您需要为存储桶命名assets.domain.com
.
http://docs.aws.amazon.com/AmazonS3/latest/dev/VirtualHosting.html#VirtualHostingCustomURLs
如果您需要更大的灵活性,可以为S3存储桶创建CloudFront分配,并为您的CloudFront分配分配CNAME.
http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/CNAMEs.html