java - 通过 IIS 通过 ISAPI 或 URL 重写公开 Java Web 应用程序

标签 java url iis url-rewrite-module isapi-redirect

我想通过 IIS 公开一个 Java 应用程序。我在 Running a java web application in IIS 中找到了答案指的是 isapi redirector .然而,似乎对我有用的是设置 IIS URL 重写规则。例如。我已经设置了匹配 ^java/(.*) 的重写规则并将其重写为 http://localhost:8080/{R:1}

我是一名程序员而不是网络服务器管理员,所以我不明白两者之间的含义。哪个是首选方法,为什么? URL 重写似乎更易于设置,因为它涉及更少的“移动部件”和更少的配置。

最佳答案

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

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

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

关于java - 通过 IIS 通过 ISAPI 或 URL 重写公开 Java Web 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11506248/

相关文章:

java - Spring JdbcTemplate 提供的 queryForMap() 和 queryForList() 方法在内部究竟是如何工作的?

wcf - 从 REST WCF 服务中删除 .svc,且 "?wsdl"和 "/help"仍处于启用状态

c# - IIS 7 - 确定小数点符号

javascript - 如果未登录,则限制对 js 文件的访问

java - ARCore – 如何将相机焦点更改为 "Auto Focus"?

java - 为什么加密文本和 Base64 编码文本在 Windows 和 Linux 上显示不同

java - 使用 AngularJS 传递参数时 Resteasy @FormParam null

javascript - 如何获取 XmlHttpRequest 中发送的内容?

django - 如何匹配 Django URL 中的问号字符?

java - SendRedirect 不适用于 JSP Scriptlet