reactjs - 将 S3 请求 URL 上的静态反应网站重写为自己的 URL
问题描述
我正在尝试在以 CloudFront 作为前端的 AWS S3 存储桶上托管一个静态反应网站。
此外,前端使用 API 作为服务在具有连接域的单独服务器上运行。
但是,当我去我的静态 s3 网站对其进行测试时,我可以在开发者控制台中看到从存储桶到 API 的所有 API 调用都用存储桶自己的 URL 重写,因此它使用它自己的 URL 而不是 API 的 URL .
API url 是在环境变量中定义的,所以我的第一个想法是在构建期间没有定义环境变量。我打印了执行构建的所有环境变量的输出,它们都是正确的。
我正在查看 stackoverflow 帖子(反应路由器在 aws s3 存储桶中不起作用),但不幸的是它没有帮助。
任何帮助或建议将不胜感激。
编辑 我的静态网站托管设置:
解决方案
您是否在 S3 存储桶上启用了静态网站托管?
https://docs.aws.amazon.com/AmazonS3/latest/userguide/EnableWebsiteHosting.html
可能是您的静态网站托管属性中的重定向规则,您可以尝试以下操作:
[
{
"Condition": {
"HttpErrorCodeReturnedEquals": "404"
},
"Redirect": {
"HostName": "<your_website_url>",
"HttpRedirectCode": "307",
"Protocol": "https",
"ReplaceKeyPrefixWith": "#!"
}
}
]
推荐阅读
- mongodb - 从谷歌云存储流恢复“mongodump”备份
- java - 如何使用android中的按钮从另一个片段中打开一个片段
- javascript - 在 Javascript 中处理货币
- javascript - 在不改变状态、道具或父级的情况下反应子级渲染
- javascript - 如何通过一台 Express 服务器部署不同的 React Web 应用程序?
- python - Docker 没有保存 Scrapy 蜘蛛的输出文件
- python - 有人可以帮我理解下面的代码吗
- python - 给它空str不会退出无限期while循环
- c - 为什么在没有显式修改的情况下修改内存
- python - 如何将csv文件转换为数据集?