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

后端 未结 7 1381
佛祖请我去吃肉
佛祖请我去吃肉 2020-12-24 11:57

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

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

A call

相关标签:
7条回答
  • 2020-12-24 12:18

    Yes. using AWS Cloudfront lets you assign a default file.

    0 讨论(0)
  • 2020-12-24 12:21

    Since It's been long time, this question being asked, and Amazon S3 changing their Interface. I would like to answer with updated screenshots.

    We need to enable 'static web hosting' for S3 to serve as web hosting. - Go to Properties -> click on static web hosting -> Select 'use this bucket to host a website' - Enter the index document (index.html by default), error document and redirection rules, if any. Selecting static web hosting

    use-this-bucket-to-host-a-website

    As answered in this answer on Stack Overflow, web hosting link would be: http://bucket-name.s3-website-region.amazonaws.com

    0 讨论(0)
  • 2020-12-24 12:24

    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:

    enter image description here

    0 讨论(0)
  • 2020-12-24 12:29

    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.

    0 讨论(0)
  • 2020-12-24 12:37

    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.

    0 讨论(0)
  • 2020-12-24 12:39

    you can do it using dns webforwards and cloaking. just forward to the complete path of the index.html

    www.example.com forwards to http://www.example.com.s3.amazonaws.com and make sure you cloak the output.

    0 讨论(0)
提交回复
热议问题