我正在家里build立一个服务器来托pipe几个小网站。 其中之一是基于.NET,需要IIS,其他是基于PHP,需要Apache。 因此,我的服务器上安装了IIS 7和Apache 2.2.x,其中端口80上的IIS和端口8080上运行的Apache。
我想将IIS设置为反向代理,将Apache站点的请求转发到端口8080,并根据主机标头为.NET站点提供请求。 喜欢这个:
www.mydotnetsite.com/* -> IIS -> serve from IIS www.myapachesite.com/* -> IIS -> forward to apache on port 8080 www.myothersite.com/* -> IIS -> forward to apache on port 8080
我做了一些Googlesearch,似乎应用程序请求路由function可以做我所需要的,但是我似乎无法按照我所希望的方式工作。 我可以得到它转发到Apache服务器的所有stream量,我可以得到它转发具有特定的URL模式到Apache服务器的stream量,但我似乎无法得到它转发的主机头(例如“转发所有请求www.apachesite.com – > localhost:8080“)
所以问题是,我将如何去configurationARR来做到这一点? 或者我需要一个不同的工具?
我也开放使用Apache作为反向代理,并将.NET站点请求转发到IIS,如果更容易的话(在端口80上运行Apache,在8080上运行IIS)。
我build议扭转的事情。 通过在端口80上运行Apache并使其在8080上使用IIS来执行代理职责,将会less得多。
埃里克,这是一个古老的问题,但我会留给未来读者的ARR选项的答案。 要根据主机标题redirect,请使用“条件”部分中的{HTTP_HOST}。 ARR支持基于所有服务器variables的redirect逻辑,所以你有很大的灵活性(和mod_proxy一样多)。