目前,我正在使用现有应用程序中的子域进行服务细分。
For example:
www.example.com -> static website delivered from s3
admin.example.com -> ELB1 to ec2 group 1
accounts.example.com -> ELB2 to ec2 group 2
search.example.com -> ELB3 to ec2 group 3
您可以看到,我需要 3 个 ELB 来实现此目的。有了新的应用程序负载均衡器,我希望使用路由规则在 1 个负载均衡器上执行此操作。
For example :
www.example.com -> static website delivered from s3
admin.example.com -> ELB1 to ec2 group 1
accounts.example.com -> ELB1 to ec2 group 2
search.example.com -> ELB1 to ec2 group 3
我无法重写我的应用程序来执行此操作。我希望使用应用程序负载均衡器上的路由规则来实现这一点。
我知道我可以为域名后的部分指定规则。我可以为子域名指定规则吗?
答案1
答案2
您现在可以进行基于主机的路由。
答案3
创建规则文档表明“路径模式”当前是规则可以基于的唯一可能字段:
http://docs.aws.amazon.com/cli/latest/reference/elbv2/create-rule.html
这表明提供对子域的访问的“主机”或类似命名的字段不是路由的选项。
但是,如果 ec 组 1、2 和 3 上的应用程序可以支持在任意路径和域上部署,则可以创建一个新的应用程序域(例如,app.example.com),使用 ALB 将 /admin 路由到 ec 组 1,将 /accounts 路由到 ec 组 2,将 /search 路由到 ec 组 3,并且可以告知现有子域 301 重定向到它们各自的新域 + 路由(admin.example.com -> 301 到 app.example.com/admin,等等)。