【问题标题】:Amazon Web Service - Route Traffic on ELB via SNIAmazon Web Service - 通过 SNI 在 ELB 上路由流量
【发布时间】:2018-03-30 18:53:44
【问题描述】:

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

我正在尝试通过 Amazon Elastic Load Balancer(具体来说是应用程序负载均衡器)根据用户使用的域名(example.com 或 test123.com)将域指定到特定文件夹。

我当前的设置是来自互联网的所有流量都进入负载均衡器 (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。我不确定这是否是我需要的,或者我完全偏离了轨道。

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

谢谢

【问题讨论】:

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


    【解决方案1】:

    你确实偏离了轨道。

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

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

    【讨论】:

    • 这会更接近你的意思吗? brianshim.com/webtricks/host-multiple-sites-amazon-ec2
    • 证书由负载均衡器选择,而不是实例。验证设置,那里。
    • 是的,就是这个原因。在 SSL 证书中,*. 意味着一个令牌和一个点。 *.example.comfoo.example.com 有效,但对example.com 无效,对foo.bar.example.com 也无效。如果您从 ACM 获取证书,请在创建证书时同时指定 example.com*.example.com
    • 另外,请注意,在 Stack Overflow 上,您可以在 cmets 中使用反引号 ` 符号引用内容,以防止看起来像 URL 的内容变成链接,并确保小代码 sn-ps 和文字字符串显示正确。
    • 正确,您不能修改现有证书 -- 但您可以请求一个带有裸域和通配符的证书。
    猜你喜欢
    • 2021-03-06
    • 2015-09-01
    • 2020-04-07
    • 2020-07-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-25
    • 2014-04-08
    相关资源
    最近更新 更多