Amazon Web Service - 通过 SNI 在 ELB 上路由流量

Amazon Web Service - Route Traffic on ELB via SNI

如果这没有多大意义,请提前致歉。我对此很陌生,所以请多多包涵。

我正在尝试根据用户使用的域名(example.com 或 test123.com),通过 Amazon Elastic Load Balancer(应用程序负载均衡器是具体)。

我目前的设置是来自互联网的所有流量都进入负载均衡器 (ELB),从那里它在 2 个 EC2 实例之间循环。这两个实例都连接到 Amazon 网络文件系统 (EFS) 以及关系数据库 (RDS)。 我可以通过负载均衡器的 DNS 正常访问网站 (http://web-load-balancer-efs-16512354.us-east-1.elb.amazonaws.com/example/)

我现在要做的是设置它,这样如果有人将 example.com 作为他们的 url,它将指向负载均衡器,服务器将从那里使用正确的文件夹作为根目录(www.example.com 文档根目录为 http://web-load-balancer-efs-16512354.us-east-1.elb.amazonaws.com/example/,但 URL 仍为 www.example.com)。

我在 Route 53 上创建了一个托管区域以将域名指向我的负载均衡器,但目前我的负载均衡器指向一个 ec2 实例。当前 ec2 文档根目录是 /var/www/html/efs-mount/。 有没有办法让我根据域名拥有多个文档根目录?

我偶然发现了关于在您的侦听器上放置多个 TLS/SSL 证书并通过 SNI 协议它能够找到正确位置的事情? http://docs.aws.amazon.com/elasticloadbalancing/latest/application/create-https-listener.html#https-listener-certificates。我不确定这是否是我需要的,或者我完全偏离了轨道。

如果有人能为我指明正确的方向,那就太好了。

谢谢

你确实跑偏了。

虽然具有多个 SSL 证书的 ALB 可能是您策略的一部分,因为它允许您将多个 ACM 证书附加到单个实例或实例组,但 ALB 不会重写传入请求的路径或确定实例如何将 Web 路径解析为文件系统路径。

这是在您的 Web 服务器本身中配置的内容。首先搜索类似 "name based virtual hosting." 的内容,每个域名将在 Web 服务器配置文件中指定它自己的 "document root"。