我在 AWS 上有两个 EC2 实例。 我可以将我的主域名 (sample.com) 指向 Route 53 中的一个实例。 但是如何将另一个域 (sample.com/blog) 指向另一个 EC2 实例?
答案 0 :(得分:5)
对于这种行为,您不能只使用 Route 53,因为子文件夹不是 DNS 解析的一部分。
您可以使用许多解决方案,但网站最常见的解决方案是使用 CloudFront 或 ALB 来使用基于路径的路由。
CloudFront
使用此解决方案,您可以将 CloudFront 置于您的域之前(Route 53 将路由到 CloudFront 分配。
转发的位置称为源,因此您需要为每个目标主机创建一个源。
CloudFront 中的路由机制是行为,默认行为用于转发到您的默认主机。
然后,您将根据要路由到其他源(例如 /blog*)的域的路径模式创建附加行为。
Can I use a single CloudFront web distribution to serve content from multiple origins using multiple behaviors? 文档中提供了有关此选项的更多信息。
应用程序负载均衡器
使用此选项,您的 Route 53 记录将转发到 ALB。
您将为每个 EC2 实例创建一个目标组,然后在目标组中注册这些主机。
在 ALB 的侦听器中,您将默认将所有流量转发到目标组的一个,然后根据路径模式向侦听器添加附加规则,以在适当时转发到另一个目标组。
在 Advanced Request Routing for AWS Application Load Balancers 博文中提供了更多信息。