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?

  • You're best off switching to Route 53 for your DNS if you want to do this for a domain.
    – ceejayoz
    Nov 9 '13 at 16:41

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.


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.

  • Great! Thanks, this worked. I think I'd also tried this at some point, but I must not have waited for the DNS to propagate. Nov 13 '13 at 16:54

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.