使用Apache反向代理服务器为各种服务器提供1个公共IP

我正在为我的服务器使用AWS。

我做了几个本地运行不同的http网站的实例。 (instance1,instance2,…)

我已经注册了一个域example.com并在我的Route 53上创build了一个托pipe区example.com

我做了一个运行Apache httpd的实例,我用它作为反向代理。 有了这个服务器,我已经将AWS的公有弹性IP关联了起来。 该服务器与网站服务器位于同一networking中。 之后,我在路由53中创build了一个logging表,使proxy.example.com指向我的代理服务器的公有IP,另一个logging表使instance1.example.com指向其中一个网站托pipe服务器的专用地址。

然后在代理服务器的httpdconfiguration文件中,我添加了以下代码:

 ProxyPass "/" "http://instance1.example.com/" ProxyPassReverse "/" "http://instance1.example.com/" 

如果我现在在任何浏览器中键入proxy.example.com我将被redirect到在instance1上运行的网站,该网站非常整洁。

作为最后一个接触,我现在想通过这个代理服务器将其redirect到不同网站的不同服务器,这取决于我input的子域:

如果我inputinstance1.example.com ,stream量应该去我的代理,然后看到子域,并redirect到我的实例1的stream量。

如果我inputinstance2.example.com ,stream量应该去我的代理,然后看到子域,并redirect到我的实例2的stream量。

等等…

这甚至有可能吗? 我觉得实现我的目标非常接近…但是因为我对这个完整的Apache的东西真的很陌生,所以我需要你的帮助,因为我在网上找不到像这样的场景。 提前感谢任何答案!

想通了,并认为我离开我的解决scheme,如果任何人有同样的问题。

我向我的托pipe区域example.com添加了3个新的logging集,全部指向我的代理的公共地址:

 test.example.com test2.example.com test3.example.com 

之后,我将这些代码行添加到我的代理服务器上的httpdconfiguration文件中:

 <VirtualHost *:80> ServerName test.example.com ProxyPass "/" "http://private IP of webserver1/" ProxyPassReverse "/" "http://private IP of webserver1/" </VirtualHost> <VirtualHost *:80> ServerName test2.example.com ProxyPass "/" "http://private IP of webserver2/" ProxyPassReverse "/" "http://private IP of webserver2/" </VirtualHost> <VirtualHost *:80> ServerName test3.example.com ProxyPass "/" "http://private IP of webserver3/" ProxyPassReverse "/" "http://private IP of webserver3/" </VirtualHost> 

而已!