Access Denied for index.html Amazon S3 static website

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


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).