Amazon AWS CloudFront claims no such bucket exists

2019-06-25 06:18发布

问题:

I'm trying to set up CloudFront to serve images, but accessing it currently does not work and returns the error "The specified bucket does not exist."

<Error>
    <Code>NoSuchBucket</Code>
    <Message>The specified bucket does not exist</Message>
    <BucketName>someBucketName</BucketName>
    <RequestId>irrelevant</RequestId>
    <HostId>
        irrelevant
    </HostId>
</Error>

CloudFront requires you to use a domain to host rather than a url as the base. That domain is .s3.amazonaws.com, which is supposed to be equivalent to s3.amazonaws.com/bucketName.

That said, I'm able to access the content through the url:

https://s3.amazonaws.com/someBucketName/image.jpg

but not through

https://someBucketName.s3.amazonaws.com/image.jpg

which returns the same error. Any idea why this is happening? Is there something I need to do to make it the subdomain available? The same happens with https and http.

回答1:

The problem was that AWS does not like capital letters. Having a bucket with capital letters in it will not be accessible from the subdomain, because the casing is lost.