Is there a way to have index.html functionality with content hosted on S3?

Is there a way to make S3 default to an index.html page? Eg: My bucket object listing:

/index.html
/favicon.ico
/images/logo.gif

A call to www.example.com/index.html works great! But if one were to call www.example.com/ we'd either get a 403 or a REST object listing XML document depending on how bucket-level ACL was configured.

So, the question: Is there a way to have index.html functionality with content hosted on S3?


Amazon S3 now supports Index Documents

The index document for a bucket can be set to something like index.html . When accessing the root of the site or a sub-directory containing a document of that name that document is returned.

It is extremely easy to do using the aws cli:

aws s3 website $MY_BUCKET_NAME --index-document index.html

You can set the index document from the AWS Management Console:

在这里输入图像描述


For people still struggling against this after 3 years, let me add some important information:

The URL for your website (and to which you have to point your DNS) is not

<bucket_name>.s3-us-west-2.amazonaws.com , but

<bucket_name>.s3-website-us-west-2.amazonaws.com .

If you use the first, it will not work as intended, no matter how much you config the Index document.

For a specific example, consider:

  • http://www-example-com.s3.amazonaws.com/index.html works.
  • http://www-example-com.s3.amazonaws.com/ fails with AccessDenied .
  • http://www-example-com.s3-website-us-west-2.amazonaws.com/ works!
  • To get your true website address, go to your S3 Management Console, select the target bucket, then Properties , then Static Website Hosting . It will show the website URL that will work.


    You can easily solve it by Amazon CloudFront link. At Amazon CloudFront you could modify the root object. You can download manager here: m1.mycloudbuddy.com/downloads.html.

    链接地址: http://www.djcxy.com/p/12118.html

    上一篇: C#,有没有比IsWellFormedUriString验证URL格式更好的方法?

    下一篇: 有没有办法使用S3上托管的内容来实现index.html功能?