AWS S3 Static Hosting with Custom Domain - routing bare domain

I am trying to host some static content in an Amazon S3 bucket and to have that content available through my own domain.

The bucket in question is called "e.tl-dr.org" and I have "index.html" set as the index document. I can visit http://e.tl-dr.org.s3-website-us-east-1.amazonaws.com/ and I see the contents of index.html (just "test"). This works fine.

I also have added the CNAME entry for "e.tl-dr.org" pointing to "s3.amazonaws.com" from within my registrar's site. (I am not using the AWS Route 53 DNS services, which is what most tutorials about this seemed to be geared at.) So now "http://e.tl-dr.org/index.html" correctly shows the file, but just the bare domain only gives me S3's standard 403 message.

Is there anything else I need to set up to get this working?


For web site features like index documents to work, your CNAME needs to point to the website endpoint bucketname.s3-website-us-east-1.amazonaws.com, not the REST endpoint bucktname.s3.amazonaws.com.

When you configure a bucket for website hosting, the website is available via the region-specific website endpoint. Website endpoints are different from the endpoints where you send REST API requests.

— http://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteEndpoints.html

GET requests for actual objects work fine at both endpoints, but as the docs indicate, custom error and index documents, and redirects, are only supported through requests that arrive at the website endpoint.