我正在S3和CloudFront上主持一个Jekyll博客。 在S3上设置默认文档可以正常工作,所有子文件夹本身都会转到index.html。
在我的CloudFront发行版中,我已经将Default Root Object设置为index.html,但是子目录不会得到这个 – 相反,我得到以下错误
<Error> <Code>NoSuchKey</Code> <Message>The specified key does not exist.</Message> <Key>about</Key> <RequestId>F8324894C093EB53</RequestId> <HostId> Girhbo7YLEl9sxPS3KjvhbkpL32qNsYgiVLElAhPOvqrekfqfpJ/2AAYRg4rNJ+t4Imc86cjiw4= </HostId> </Error>
如果我手动浏览到域/ subdir / index.html它工作正常。
有任何想法吗?
当使用具有网站托pipefunction的S3存储桶(启用索引文档)时,您不希望使用存储桶的REST端点,这是CloudFront将在控制台中提供的。 您需要input网站端点,而不是。
在“创build分发”页面上的“源设置”中,在“源域名”框中键入您的存储桶的Amazon S3静态网站托pipe端点,例如:
example.com.s3-website-us-east-1.amazonaws.com。重要
不要从列表中select您的存储桶的名称,例如
example.com.s3.amazonaws.com。http://docs.aws.amazon.com/gettingstarted/latest/swh/getting-started-create-cfdist.html
您也可以closuresCloudFront中的默认根对象configuration。 这不需要这个设置。
请记住,更改传播后,您可能会caching错误响应几分钟。 检查X-Cache和Age响应标头,以确定是否看到caching的响应,以及caching响应的时间。