网络Noob在这里急需帮助!
假设我只有一个公共IP(让我们说54.0.0.1
)我想在本地域中使用多个服务器。
我创建并注册了域example.com
。
现在我希望有一台服务器使用公共IP 54.0.0.1
来管理从example.com
进入浏览器的人流入的流量,并将流量重定向到本地网络中的不同服务器,取决于他们输入的子域名。
E.g。如果有人键入shop.example.com,则DNS识别example.com,将请求解析为54.0.0.1
,此时服务器将流量重定向到商店服务器,地址为172.0.0.3
,网址与公共服务器,但没有直接的互联网访问。
然后,如果有人输入contact.example.com
,他们会被重定向到具有本地地址172.0.0.4
等的第3台服务器。
只有一个公共IP才能实现这种情况吗?如果是,那么有关如何在Amazon Webservice中完成此任务的任何提示将不胜感激。 我已经告知了自己有关NAT网关,Proxys和DNS的信息,但我似乎无法将它们整合在一起。
答案 0 :(得分:1)
我会停止尝试一起使用特定的IP地址。只需创建AWS Application Load Balancer并将其放在为您的所有域提供服务的所有不同EC2服务器之前。 ALB可以处理将请求定向到适当的服务器,以及为每个服务器提供适当的SSL证书。此外,您可以使用来自ACM服务的亚马逊免费SSL证书和ALB。
答案 1 :(得分:0)
是的,这是可能的。创建一个应用程序负载均衡器。然后创建所描述的Web服务器,其中包含多个子域。
然后为每个子域创建一个目标组,并转发来自应用程序负载均衡器的流量。在应用程序负载均衡器中,您必须定义规则(基于主机的路由),如果请求来自shop.example.com,则将其转发到该特定目标组。您还可以在ALB上创建(在ACM中)并为您的域附加通配符SSL证书。
此外,在这种情况下,您不需要使用公共IP /弹性IP,因为使ALB接口可以解决问题。
请参阅: https://awstutorialseries.com/blog/post/host-based-routing-application-load-balancers http://docs.aws.amazon.com/elasticloadbalancing/latest/application/application-load-balancer-getting-started.html