Tom Jacques
Tom Jacques

Reputation: 705

Amazon AWS CloudFront claims no such bucket exists

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.

Upvotes: 6

Views: 12182

Answers (2)

I meet the same issue today, my issue because I config some cache headers value. I fix cache headers = None then issue was resolve. config cache

Upvotes: 8

Tom Jacques
Tom Jacques

Reputation: 705

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.

Upvotes: 12

Related Questions