如何过滤/redirect进入networking的URL?

我不确定这是否可行,但是我想做的事情如下:

我有一个IP地址(dynamic使用zoneedit.com保持最新状态)。 我有一个运行我的主站点的networking服务器,它是运行Apache的Ubuntu机器。 我也有一个Windows 2008服务器运行另一个网站。 只是为了混淆事物,我也在Windows服务器上运行我的Apache站点的一部分,目前使用proxypassreverse从中获取信息。 它看起来像这样:

 IP 1.2.3.4 maps to example.com as well as example.org 

所有进入端口80的请求都被转发到Apache框,我使用虚拟主机设置代理需要的Windows站点。

所以example.com是一个Apache站点, example.com/mywindowssection mywindowssection是使用proxypassreverse从Apache服务器获取部分站点的Apache服务器。

example.org使用Apache和proxypassreverse获取整个网站。

我希望能够做的是将所有进入我的networking的http请求转发给一台机器,以确定谁应该提供这些内容? 所以:

  • example.com会去Apache机器
  • example.org会去的Windows机器。

我只是在设置一个Astaro网关(从来没有这样做过,所以需要一段时间configuration)作为我的防火墙,DNS,DHCP等,不知道这是否可以处理它。 我有能力在networking上运行虚拟机,如果这个过程需要一个单独的盒子。

感谢任何和所有的反馈。

我并不十分清楚你的目标是什么,但是有一个名为pound的Unix反向代理程序(可能在Ubuntu软件包回购中提供),它允许你根据匹配的expression式将HTTP请求redirect到不同的后端服务器。

所以你可能会在端口80上运行在你的前端Ubuntu服务器上。在后端,你将有一些其他的端口(例如8080)上运行的Apache + Ubuntu和运行的Windows服务器一些端口。 然后告诉磅,哪个后端服务器/端口转发请求到每个域和/或URL正则expression式您需要通过sorting请求。

我不确定你为什么希望避免混合使用代理,因为这正是你需要的。 我不相信你可以完成你所需要的而没有一个。 就这样的代理人而言,英镑很小,而且很快。 如果您希望避免caching,由于使用dynamic内容,英镑不做任何caching。