有没有办法在S3上托管内容的index.html功能?

Stu*_*son 31 amazon-s3 amazon-web-services

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

/index.html
/favicon.ico
/images/logo.gif
Run Code Online (Sandbox Code Playgroud)

呼叫到www.example.com/ index.html的伟大工程!但是如果要打电话给www.example.com/,我们要么根据桶级ACL的配置方式获得列出XML文档的403或REST对象.

所以,问题是:有没有办法在S3上托管内容的index.html功能?

fia*_*jaf 52

对于3年后仍在努力解决这个问题的人们,让我补充一些重要信息:

您网站的网址(以及您必须指向DNS的网址)不是

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

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

如果使用第一个,则无论您配置索引文档多少,它都无法按预期工作.

有关具体示例,请考虑:

为了让您的真实网站地址,去你的S3管理控制台,选择目标水桶,然后Properties,然后Static Website Hosting.它将显示可以使用的网站URL.

  • 这是正确的答案!谢谢! (3认同)
  • 谢谢你终于解决了我的问题! (2认同)
  • 谢谢!这困扰了我15次,我从来不明白为什么. (2认同)
  • 先生,您应该获得奖牌! (2认同)

Ale*_*min 36

Amazon S3现在支持索引文档

存储桶的索引文档可以设置为类似的index.html.访问站点的根目录或包含该文件的文档的子目录时,将返回该文档.

使用aws cli非常容易:

aws s3 website $MY_BUCKET_NAME --index-document index.html
Run Code Online (Sandbox Code Playgroud)

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

在此输入图像描述

  • 请参阅fiatjaf的答案,了解故事的其余部分.仅设置索引文档是不够的.您还必须使用修改后的域名. (4认同)
  • 不幸的是,当它感觉像是这样.我将这个配置放在一个工作得很好的存储桶上,另一个存储桶不能工作,仍然列出XML废话. (2认同)