首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在AWS S3和CloudFront中托管React路由器应用程序时,获取403个拒绝访问的错误

在AWS S3和CloudFront中托管React路由器应用程序时,获取403个拒绝访问的错误
EN

Stack Overflow用户
提问于 2021-01-29 04:08:13
回答 4查看 6.5K关注 0票数 8

当我向AWS、S3和CloudFront部署了时,当我尝试直接访问React路由时,它会给出下面的403个错误代码错误。当基本URL(www.sample-app.com)和路由URL(Www.sam-app.com/cart)通过应用程序时,我可以访问它。

但是,如果我直接尝试使用React route(Www.sam-app.com/cart),它会产生一个403个访问拒绝错误,如下所示。主要的痛苦之处在于,当我试图刷新一个反应路由URL.时,它会产生这个错误。

代码语言:javascript
运行
复制
<Error>
  <Code>AccessDenied</Code>
  <Message>Access Denied</Message>
  <RequestId>REQUEST_ID</RequestId>   
  <HostId>HOST_ID</HostId>
</Error>

注意:我使用AWS负载均衡器和Lambda函数作为后端。我已经设置了AWS ALB和Cloudfront来验证AWS认知用户的身份。

感谢你在这方面的帮助。

EN

回答 4

Stack Overflow用户

发布于 2021-05-27 22:39:14

因为cloudfront只能访问存储桶中确实存在的文件,而且如果一个不存在的对象被请求,它将返回403,因此您需要添加一个自定义错误页面,该页面返回带有200个状态代码的index.html文件。然后,由于返回了index.html,React路由器可以完成它的工作。

更多信息在这里:

https://www.codebyamir.com/blog/fixing-403-access-denied-errors-when-hosting-react-router-app-in-aws-s3-and-cloudfront

票数 4
EN

Stack Overflow用户

发布于 2022-04-21 00:36:32

使用CloudFormation创建Cloudfront分发版时,请在DistributionConfig部分使用以下内容

代码语言:javascript
运行
复制
"DistributionConfig": {
//Other configs
 "CustomErrorResponses":[
     {
         "ErrorCachingMinTTL" : 1,
         "ErrorCode" : 403,
         "ResponseCode" : 200,
         "ResponsePagePath" : "/index.html"
       }
  ]
}
票数 2
EN

Stack Overflow用户

发布于 2022-11-04 18:08:53

最简单的选项是在CloudFront实例"Error pages“选项卡中创建一个简单的自定义错误。请看附图。这是一个30秒的修复和工作,一旦它自动部署。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65948649

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档