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

有没有办法让S3默认为index.html页面? 例如:我的存储桶对象列表:

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

致电www.example.com/index.html很有效! 但是,如果有人打电话给www.example.com/,我们要么根据配置桶级别ACL的方式获取403或REST对象列出XML文档。

所以,问题:有没有一种方法可以在S3上托管内容的index.html功能?


Amazon S3现在支持索引文档

一个存储桶的索引文件可以设置为像index.html 。 访问网站的根目录或包含该文件返回的文件的子目录时。

使用aws cli非常容易:

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

您可以从AWS管理控制台设置索引文档:

在这里输入图像描述


对于3年后还在苦苦挣扎的人,让我补充一些重要信息:

您的网站(并且您必须指向您的DNS)的URL不是

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

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

如果您使用第一个,则无论您如何配置Index文档,它都不会按预期工作。

举一个具体的例子,考虑:

  • http://www-example-com.s3.amazonaws.com/index.html的作品。
  • http://www-example-com.s3.amazonaws.com/因AccessDenied失败。
  • http://www-example-com.s3-website-us-west-2.amazonaws.com/工作!
  • 要获得真实的网站地址,请转至您的S3管理控制台,选择目标存储桶,然后选择Properties ,然后选择Static Website Hosting 。 它会显示可以工作的网站网址。


    您可以通过Amazon CloudFront链接轻松解决问题。 在Amazon CloudFront上,您可以修改根对象。 你可以在这里下载管理器:m1.mycloudbuddy.com/downloads.html。

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

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

    下一篇: What's the difference between a Resource, URI, URL, Path and File in Java?