2010-12-06 196 views
2

我有一个web服务器,可以响应80端口上的许多不同的站点。目前,IIS通过主机头来映射到各个站点,但我希望能够为其他web应用在Jetty或Tomcat托管的端口80上。 IIS通过抓取所有端口80流量来防止这种情况。Windows上的反向代理

我基本上需要一个反向代理才能将端口号更改为另一个应用程序堆栈可以侦听的内容。我正在研究nginx,但它似乎并没有准备好迎接Windows的黄金时段。最终我可能会专门为此设置一个Linux机器,但现在我对可以在同一个机器上运行的解决方案感兴趣。

我真正需要的是非常轻的东西,它们大多只是匹配主机名/端口并允许重写端口。有没有人有什么建议?

回答

2

对于IIS 5-6,它看起来像的Apache Tomcat连接器(JK 1.2)是一个干净的解决方案。这是一个IIS ISAPI筛选器,它允许IIS充当其他Web服务器的反向代理。它使用Apache JServ Protocol(AJP)与实际服务请求的应用程序服务器进行通信。 Tomcat和Jetty都实现了AJP。 URL通过类似于正则表达式的配置映射到特定的AJP服务器实例。

这ISAPI插件also works with IIS 7.x,但在这种情况下,应用程序请求路由(see marked answer)应考虑因为它可能对非AJP服务器更好。