S3静态网站不能很好地处理相关链接

问题描述 投票:0回答:2

我有一个 s3 存储桶,其中所有文件夹和文件都是公共的,并且启用了静态网站托管。当我访问位于 https://s3-us-west-2.amazonaws.com/www.MYBUCKET.com/index.html 的索引页面时,页面加载得很好。但是,该网站无法正确处理相关链接。

以下内容将发送到 https://s3-us-west-2.amazonaws.com/page-2/index.html 而不是 https://s3-us-west-2.amazonaws.com/ www.MYBUCKET.com/page-2/index.html:

<a href="/page-2/">Policy</a>

虽然我确实可以通过制作

href="/www.MYBUCKET.com/page-2/"
来解决这个问题,但这会给网站的本地开发人员带来问题,或者将其部署在 www.MYBUCKET.com 环境之外的任何地方。

我的问题是:发生了什么事,通常如何解决?

amazon-web-services amazon-s3 relative-path
2个回答
2
投票

您还可以使用 url 访问静态 s3 网站;

http://www.MYBUCKET.com.s3-us-west-2.amazonaws.com/index.html

一旦删除初始路径部分,这应该可以解决您的问题。您也可以随时使用route53来使用自己的域。

请记住,您可能会遇到 SSL 证书问题(但您可以使用 http 进行开发)

如果您确实需要 https,我建议您在存储桶前面使用 CloudFront,如果有兴趣,请查看 本教程


0
投票

有一种便捷的方式将 SPA 部署到 S3 和 CloudFront,并轻松在云上设置基础设施! 它称为 SWS Console Quick Cloud Architecture Builder 服务。只需几个简单的输入,您就可以控制 AWS 资源。请参阅下面的文档!

使用 SWS 控制台快速云架构构建器使前端部署变得简单

使用 S3 和 CloudFront 将 SPA(React、Vue 等)项目部署到 AWS 时,需要执行一些复杂的任务,例如在 S3 上设置静态 Web 托管并将存储桶链接到 CloudFront。不如使用 Sws Console 服务,它为您的 SPA 项目构建 S3 静态 Web 托管 + CloudFront 的 AWS 云架构,而无需担心这些任务?请参考下面的文档,尝试使用Sws Console Quick Builder工具快速构建AWS架构!

使用 SWS 控制台快速云架构构建器使前端部署变得简单

进入Sws控制台服务页面

© www.soinside.com 2019 - 2024. All rights reserved.