我有一个Web服务器,它响应端口80上的许多不同站点。目前,IIS通过主机头进行到各个站点的映射,但我希望能够在端口80上托管其他Web应用程序在Jetty或Tomcat。 IIS通过获取所有端口80流量来阻止这种情况。
我基本上需要一个反向代理才能将端口号更改为另一个应用程序堆栈可以监听的内容。我正在研究nginx,但似乎还没有为Windows上的黄金时间做好准备。最终我可能会专门为此设置一个Linux盒子,但是现在我对一个可以在同一个盒子上运行的解决方案感兴趣。
我真正需要的是非常轻松的东西,它主要与主机名/端口匹配,并允许重写端口。有没有人有任何建议?
答案 0 :(得分:4)
如果您在IIS 7或更高版本中运行,则可以使用应用程序请求路由:http://www.iis.net/download/ApplicationRequestRouting
答案 1 :(得分:2)
对于IIS 5-6,看起来Apache Tomcat Connector(JK 1.2)是一个干净的解决方案。这是一个IIS ISAPI筛选器,它允许IIS充当其他Web服务器的反向代理。它使用Apache JServ Protocol(AJP)与实际提供请求的应用服务器进行通信。 Tomcat和Jetty都实现了AJP。 URL使用类似regex的配置映射到特定的AJP服务器实例。
此ISAPI插件also works with IIS 7.x,但在这种情况下,应考虑应用程序请求路由(see marked answer),因为它可能更适用于非AJP服务器。