将基于 React 的单页应用程序部署到 Amazon S3 和 CloudFront - 拒绝访问

Deploy a React-based single-page application to Amazon S3 and CloudFront - Access Denied

提问人:Gil Tchelet 提问时间:11/16/2023 最后编辑:user18309290Gil Tchelet 更新时间:11/17/2023 访问量:32

问:

在这篇文章中,我尝试一步一步地使用亚马逊的说明: https://docs.aws.amazon.com/prescriptive-guidance/latest/patterns/deploy-a-react-based-single-page-application-to-amazon-s3-and-cloudfront.html

也许这篇文章已经过时、不完整,或者我误解了什么。我已经在我的免费套餐上一步一步地完成了所有操作,并进行了多次验证和重试。

我检查了 CloudFormation 是否创建了所有基础设施,并将所有文件和文件夹正确上传到 S3。

完成后,当我使用 CloudFront 创建的 URL 时,我遇到“拒绝访问”消息,类似于:

<Error>
<Code>AccessDenied</Code>
<Message>Access Denied</Message>
<RequestId>{{id}}</RequestId>
<HostId>{{id}}</HostId>
</Error>

也许除了文档之外还需要其他步骤,但它们使遵循这些步骤似乎就足够了。

如果你有一些经验,可以帮助我,我将不胜感激。

我已经一步一步地尝试了文章的说明

我尝试删除 S3 存储桶上的“块”以确保允许公共访问,即使教程中没有提到它

reactjs 网络服务 s3 aws-cloudformation 亚马逊云前端

评论

1赞 Martin Bean 11/16/2023
听起来您的 CloudFront 分配无法正确访问 S3 存储桶中的对象,因此请开始检查。

答:

0赞 smac2020 11/17/2023 #1

有一个较新的适用示例,而不是遵循旧的示例,它将引导您构建一个 React 应用程序,该应用程序将 React 应用程序部署到 CloudFront。我建议通过此示例来更深入地了解此用例。

此示例位于 AWS 代码库中。

创建一个照片资产管理应用程序,允许用户使用标签管理照片