似乎无法写入S3桶设置为网站

时间:2011-10-03 19:33:24

标签: amazon-s3

我正在尝试执行以下方案:

存储桶设置名为share.example.com。

我的网站将动态写入此存储桶(用户生成的内容)。

我希望该存储桶是一个网站,index.html作为默认文档。

因此,用户在我的网站上执行某项操作,然后写入

share.example.com/foo/bar1/index.html

然后我希望用户能够浏览到

http://share.example/foo/bar1/(< - note,no index.html)

我认为这将是微不足道的:

  • 将存储桶设置为index.html作为默认文档的网站
  • 只有我有权写入存储桶
  • 设置存储桶策略以允许匿名阅读
  • 为share.example.com创建CNAME以共享.example.com.s3-website-us-east-1.amazonaws.com

然而,一个问题。

在上面的配置中,当我尝试写入时,我得到405。 如果我将CNAME更改为指向share.example.com.s3.amazonaws.com,则写入成功,但现在网站将无法按要求运行。

这里有什么解决方案?

感谢堆栈提供任何帮助。

1 个答案:

答案 0 :(得分:1)

诀窍是不要在写作方面使用虚荣域。

即。而不是尝试将PUT分享到.example.com/foo/bar1,请执行s3.amazonaws.com/share.example.com/foo/bar1

然后,share.example.com的CNAME可以指向share.example.com.s3-website-us-east-1.amazonaws.com,一切正常。