Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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.

like image 546
Tom Jacques Avatar asked Dec 15 '22 05:12

Tom Jacques


2 Answers

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.

like image 152
Tom Jacques Avatar answered Dec 28 '22 13:12

Tom Jacques


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

like image 38
sỹ nguyễn công Avatar answered Dec 28 '22 13:12

sỹ nguyễn công