通过ISAPI或URL重写通过IIS公开Java web应用程序



我想通过IIS公开Java应用程序。我在IIS中运行一个引用isapi重定向器的java web应用程序中找到了答案。然而,对我来说似乎同样有效的是设置IIS URL重写规则。例如,我设置了一个与^java/(.*)匹配的重写规则,并将其重写为http://localhost:8080/{R:1}

我是一名程序员,而不是网络服务器管理员,所以我不理解两者之间的关系。哪种方法是首选方法,为什么?URL重写似乎更容易设置,因为它涉及更少的"移动部件"和更少的配置。

根据我的经验,当满足以下条件时,我不得不使用ISAPI重定向器:

  1. 公司/系统策略不允许在服务器上公开另一个HTTP端口(即8080/tcp),并且IIS已经拥有80/tcp,因此另一台服务器无法绑定到该端口或任何HTTP端口。在这种情况下,IIS和Java服务器通过AJP端口进行通信,并且必须将工作文件配置为仅重定向到Java应用程序的上下文
  2. [可选]出于性能原因,静态内容(html、js、css、jpg…)必须托管在IIS上,而只有动态内容留给Java服务器。同样,这需要在每个服务器上仔细配置工作人员并选择性地部署内容

如果您不必满足这些条件中的任何一个,并且公司/系统策略没有强制要求所有请求都通过IIS,那么URL重写规则可能是可以的。

最新更新