Amazon Route 53 在没有 S3 的情况下将多个子域重定向到其他子域

Amazon Route 53 to redirect multiple subdomains to other subdomains without S3

我有一个名为 example.com 的域,它有大约 20 个子域,例如 subdomain_1.example.comsubdomain_2.example.com

我正在将我的域从 example.com 更改为 newdomain.com。此外,我在 Route 53 上设置了所有子域,现在两个域都在加载我的网站,我想将所有流量从旧子域重定向到新子域。例如,如果用户请求 subdomain_15.example.com 应该重定向到 subdomain_15.newdomain.com.

我阅读了 AWS 提供的关于每个路由一个 S3 存储桶的解决方案,但我有很多子域,我想知道是否有更有效的方法来一次为所有域和子域创建重定向规则.

如果您不想使用 S3 的内置 HTTP server/endpoint 及其重定向功能,则需要为此进行计算。

有很多选择:

  1. 将您的旧域映射到 API 网关中的 API,并使用 Lambda 函数提供重定向 HTTP 响应
  2. 将您的旧域映射到 CloudFront 分配并在“查看器请求”上使用 Lambda@Edge 来提供重定向 HTTP 响应
  3. 将您的旧域映射到 Application Load Balancer(不过,按正常运行时间计算成本!)并在侦听器规则中配置重定向到您的新域(使用与变量相同的路径)
  4. 使用“serverful”资源的更多选项,例如使用简单的 EC2 实例作为 Web 服务器并将其配置为服务于 HTTP 重定向响应,当然,但不必要

您没有说出什么系统实际上在为您的域提供服务,因此另一种选择也可能是仅配置您的网络服务器(如果有)以从您的应用程序(如果有)内提供 HTTP 重定向响应。

基于 我确实遵循了第 3 点的建议,现在我的重定向按预期工作。

我创建了一个带有 2 个监听器的 ALB:

80:将所有流量重定向到 443。我正在重定向到 443,所以我只需要在 443 中而不是在两个 Listener 中编写真正的规则。

443:我有一套规则,基本上每个子域一个规则。我更喜欢有 n 个 LB 规则,而不是 n 个 S3 桶。