2015-12-16 156 views
5

我想在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到s3存儲區amazon

​​

但是設置這個CNAME後,我收到這樣的錯誤來自亞馬遜,當我訪問域名:

<Error> 
    <Code>NoSuchBucket</Code> 
    <Message>The specified bucket does not exist</Message> 
    <BucketName>assets.domain.com</BucketName> 
    <RequestId>45646DFSDFSFASDF</RequestId> 
    <HostId> 
     dfasdcvcvd546456454ds5fasdf4ad5f64asdfasdfccdfgvggtg 
    </HostId> 
</Error> 

在這裏,他們告訴改變bucketname :https://forums.aws.amazon.com/message.jspa?messageID=237562 但這沒有任何意義。我之前從事過一個項目,他使用了與子域完全不同的bucketname。所以必須有一種方法......任何能夠幫助我的人?

+1

什麼是斗的名字,你不介意讓我們知道參與,所以我們可以看看全域並查看它是否通過DNS正確解析? –

回答

9

對於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的分佈和分配CNAME到你的CloudFront的分佈。

http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/CNAMEs.html

+1

Cloudfront,就是這樣!非常感謝。 –