亚马逊网络服务 - 通过SNI路由ELB上的流量

时间:2017-10-18 19:38:58

标签: web-services amazon-web-services amazon-ec2 nfs elastic-load-balancer

如果这没有多大意义,请提前抱歉。我对此很新,所以请耐心等待。

我正在尝试根据用户使用的域名(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,它将指向Load Balancer,从那里服务器将使用正确的文件夹作为root(www.example.com document root将是http://web-load-balancer-efs-16512354.us-east-1.elb.amazonaws.com/example/,但网址仍为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。我不确定这是否是我需要的,或者我完全偏离了轨道。

如果有人能指出我如何做到这一点的正确方向,那就太棒了。

由于

1 个答案:

答案 0 :(得分:1)

你确实偏离轨道。

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

这是您的Web服务器本身配置的内容。首先搜索"基于名称的虚拟主机。"每个域名都会指定它自己的"文档根目录"在Web服务器配置文件中。