首页 > 解决方案 > 将目录重定向到单个 s3 存储桶?

问题描述

我有一个托管在域上的 Laravel 应用程序。我有几个动态目录,即:

example.com/目录

example.com/random

example.com/moon

我希望这些目录中的每一个在屏蔽 URL 的同时解析为不同的 s3 存储桶(我想查看上面的 URL,而不是 s3 存储桶 URL)。实现这一目标的最佳方法是什么?我可能会创建一个主存储桶并在其上托管 example.com,并在该 s3 存储桶上创建路由规则以重定向到其他 s3 存储桶(我认为)。这些路由规则是什么样的?我无法在 AWS 文档中找到说明如何重定向到其他存储桶的说明。还有另一种更简单的方法来解决这个问题吗?

值得注意的是,Laravel 应用程序可能不需要像使用 AWS sdk 来动态配置目录那样参与实际路由。

标签: amazon-web-servicesamazon-s3

解决方案


最好的方法是创建具有三个不同来源的 CloudFront (CF) 分配。然后每个源将响应不同的源路径,这将导致不同的桶。

example.com可以在 Route53 中定义,别名 A记录到 CF 分布。将 CF 与 S3 一起使用的好处是,您不仅可以加快网站速度(CF 是 CDN),而且还可以保持存储桶和对象的私有性:


推荐阅读