Amazon s3存储桶在访问索引时转储XML中的全部内容

Amazon s3存储桶在访问索引时转储XML中的全部内容

问题描述:

因此,发生了一些奇怪的事情,我为静态网站托管设置了我的AWS S3存储桶,并且它一切正常,但每当我转到纯域时(例如:'test.com')它返回一个XML文件错误,然后转储该XML中的所有内容。它看起来像this,但像'test.com/test'这样的其他域名确实有效。我将index.html设置为我的存储区中的索引,并且所有内容似乎都已正确配置。任何帮助?Amazon s3存储桶在访问索引时转储XML中的全部内容

此外,去'test.com/index'事实上显示索引很好,只有当你去'test.com'它是否给出了XML错误。

当您设置S3静态网站托管时,存储区名称必须与域名完全匹配。如果您想支持多个域名,那么您将需要多个存储桶。

假设您希望在S3上托管mywebsite.com和www.mywebsite.com。您需要创建两个存储桶“mywebsite.com”和“www.mywebsite.com”。然后为每个域名/桶对创建两个Route53条目。

您可以将一个网站重定向到另一个网站。

Setting up a Static Website Using a Custom Domain

由于这个工程:test.com/index但这并不:test.com这听起来像你上传的名为indexindex.html的索引文件。在这种情况下,您需要确保您的S3存储桶的静态网站配置中的索引文档设置为index,而不是默认值index.html,这正是您所说的当前配置。

另外,如果你在斗不已,这似乎既然你说test.com/test作品,这样的情况在其他文件夹index.html那么您只需重命名根index文件是index.html

你有两个问题:

  • 你已经错误地配置桶ACL或政策允许大家列出在桶中的对象。

如何列出桶中的对象?你去桶的REST端点的根目录...所以你看到的不是一个XML“错误” - 这是一个桶列表。

这反过来,揭示了第二个问题:

  • 您已配置好域名指向REST端点,而不是网站托管端点。

网站托管功能只能从网站端点获得。

http://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteEndpoints.html