reactjs - 使用 AWS S3 + CloudFront 部署时反应 SPA 空白页
问题描述
我将 React Single Page App 上传到使用 CloudFront 服务的 AWS S3。我有两个存储桶和两个 CDN(一个公共和一个私有),并使用“私有”CDN 上的签名 cookie 限制查看器访问。从“公共”存储桶/CDN 重定向后,我的页面加载为空白。
这是我使用 Google Chrome 检查时看到的 html:
和错误:
我在 CloudFront 403/404 中设置了两个错误页面以返回 200 和 index.html 响应页面。如果我删除 403 或更改为响应为 403,所有页面内容文件都返回 403。我的 S3 存储桶设置为允许 GetObject 到 CloudFront OAI,CloudFront 分配也使用相同的身份。
该页面使用在 Route53 中注册和设置的自定义域提供服务。我尝试在 package.json 文件中指定主页,但如果我这样做,我会得到相同的结果:
- 使用我的自定义域在 package.json 文件中添加“主页”
- 使用“主页”:'。'
- 不指定主页
我已经搜索了所有解决方案,但似乎没有任何效果。
更新:如果我在私有 CDN 上关闭“限制查看器访问”,我的页面加载正常(拾取由“公共”cdn 设置的 cookie)。
解决方案
推荐阅读
- matlab - 了解 Stan 机器学习代码的建议
- purescript - 检查数组是否具有所有唯一元素
- html - CSS 样式
标签 - java - Java Spring Webflux,记录出站http调用所花费的时间
- javascript - 连接三个数组的合适的JS数据结构
- .net - 为什么 .NET 上下文中的 DLL 和 EXE 文件称为程序集?
- node.js - 我在浏览器的存储选项卡中看到了 cookie。但是当我控制台记录它们时,我总是看到未定义
- javascript - 如何解决这个 npm install 依赖问题?
- python - 无法读取 API 响应数据
- sql - 在一条 SQL 语句中组合多个连接