我正在为我的服务器使用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>
而已!