我有一个运行 Windows 2003 的网络服务器,其中有一堆 ASP.net 网站当前正在监听端口 80(具有不同的主机头)。
我需要设置一个 TomCat 实例来处理 Magnolia CMS 安装,该安装还需要使用如下主机头监听端口 80:
magnolia.cms.somedomain.com
。
我在谷歌上搜索了一下,结果发现这篇博文介绍了如何设置 neosmart这不起作用。
*更新: 我并不是想让 Tomcat 和 IIS 监听端口 80,而是想让 IIS 在收到针对特定网站的请求时委托给 TomCat。我听说这是可以做到的,上面的链接甚至提供了如何实现这一点的说明,但这些说明不起作用。
答案1
如果我正确理解了您的请求,您希望有 1 台具有 1 个 IP 地址的服务器,其中有 2 个 Web 服务器进程,每个进程使用端口 80 进行 HTTP 流量,并通过其主机标头将请求重定向到不同的虚拟网站。
我认为这是不可能的,因为进程(iis6 和 tomcat)将分别尝试在 TCP 端口 80 上设置它们的服务,而最后启动的服务将会失败。
但是,Windows 服务器可以轻松配置为分配给单个 NIC 的多个 IP 地址,这就是实现此功能的方法。
这样,如果您设置 IIS 在一个 IP 上监听,并在另一个 IP 上监听 Tomcat,那么您可以在每个 IP 地址上拥有任意数量的虚拟网站。
答案2
我最终让它工作了,但我不得不重新安装 Tomcat,并重新配置 mod_jk ISAPI 插件,正如它所指定的那样这里。
我接受了 tptechs 的回答,因为如果我按照这些指示,我将在大约一半的时间内完成:D