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

Web services 亚马逊网络服务-通过SNI在ELB上路由流量,web-services,amazon-web-services,amazon-ec2,nfs,elastic-load-balancer,Web Services,Amazon Web Services,Amazon Ec2,Nfs,Elastic Load Balancer,如果这没有多大意义,请提前道歉。我对这件事还不太熟悉,所以请容忍我 我正试图通过Amazon弹性负载平衡器(具体为应用程序负载平衡器),根据用户使用的域名(example.com或test123.com),将一个域指定到特定文件夹 我当前的设置是,所有来自internet的流量都流向负载平衡器(ELB),然后在两个EC2实例之间进行循环。这两个实例都连接到Amazon网络文件系统(EFS)和关系数据库(RDS)。 我可以通过负载平衡器()的DNS访问网站 我现在要做的是设置它,这样如果有人将ex

如果这没有多大意义,请提前道歉。我对这件事还不太熟悉,所以请容忍我

我正试图通过Amazon弹性负载平衡器(具体为应用程序负载平衡器),根据用户使用的域名(example.com或test123.com),将一个域指定到特定文件夹

我当前的设置是,所有来自internet的流量都流向负载平衡器(ELB),然后在两个EC2实例之间进行循环。这两个实例都连接到Amazon网络文件系统(EFS)和关系数据库(RDS)。 我可以通过负载平衡器()的DNS访问网站

我现在要做的是设置它,这样如果有人将example.com作为他们的url,它将指向负载平衡器,服务器将从那里使用正确的文件夹作为根目录(www.example.com文档根目录将是,但url仍然是www.example.com)

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

我偶然发现了一些关于将多个TLS/SSL证书放在您的侦听器上,通过SNI协议,它将能够找到正确的位置。我不确定这是我需要的,还是我完全偏离了轨道

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


谢谢

你确实偏离了正轨

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


这是在web服务器本身中配置的。从搜索类似“基于名称的虚拟主机”的内容开始。每个域名将在web服务器配置文件中指定自己的“文档根”。

您确实偏离了方向

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


这是在web服务器本身中配置的。首先搜索“基于名称的虚拟主机”之类的内容。每个域名将在web服务器配置文件中指定自己的“文档根”。

这是否更接近您的意思?证书由负载平衡器选择,而不是由实例选择。验证设置。是的,这就是原因。在SSL证书中,
*。
表示一个令牌和一个点
*.example.com
foo.example.com
有效,但不适用于
example.com
,也不适用于
foo.bar.example.com
。如果您是从ACM获取证书,请在创建证书时指定
example.com
*.example.com
。此外,请注意,在堆栈溢出时,您可以在注释中引用带有反勾号
`
符号的内容,以防止类似URL的内容成为链接,并确保正确显示小代码段和文字字符串。正确,您不能修改现有证书,但可以请求一个包含裸域和通配符的证书。这是否更接近您的意思?证书由负载平衡器选择,而不是由实例选择。验证设置。是的,这就是原因。在SSL证书中,
*。
表示一个令牌和一个点
*.example.com
foo.example.com
有效,但不适用于
example.com
,也不适用于
foo.bar.example.com
。如果您是从ACM获取证书,请在创建证书时指定
example.com
*.example.com
。此外,请注意,在堆栈溢出时,您可以在注释中引用带有反勾号
`
符号的内容,以防止类似URL的内容成为链接,并确保正确显示小代码段和文字字符串。正确,您不能修改现有证书,但可以请求一个包含裸域和通配符的证书。