Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Access Denied for index.html Amazon S3 static website

I've set up an example static website on Amazon S3 and I added a custom folder to it with file inside: custom-folder/index.html, but I'm getting Access Denied error when trying to access url /custom-folder.

The index document is configured to be index.html, so S3 should serve index.html when I'm accessing /custom-folder url, but it doesn't work.

How can I fix this?

like image 318
Oleksandr.Bezhan Avatar asked Dec 31 '17 09:12

Oleksandr.Bezhan


2 Answers

It seems you are using the wrong URL to access the bucket. For example, when you enable to static website hosting feature in S3 (us-west-2 in this example), you are given a URL with the following format:

Endpoint : http://bucket-name.s3-website-us-west-2.amazonaws.com

You can see your endpoint by going to S3 > Click on your bucket > Bucket Properties > Static website hosting > should reveal your endpoint.

enter image description here

like image 78
Eytan Avisror Avatar answered Sep 18 '22 15:09

Eytan Avisror


In case it helps anyone else, I was using a AWS Cloudfront Distribution on top of an S3 bucket.

The solution to the "Access Denied" issue for me was to perform the / to /index.html redirect in Cloudfront (rather than S3).

This is achieved by setting the "Default Root Object" to index.html on the AWS Cloudfront Distribution (and disabling "Static website hosting" entirely in S3).

like image 39
Oliver Pearmain Avatar answered Sep 18 '22 15:09

Oliver Pearmain