【问题标题】:Exposing Java web application via IIS through ISAPI or URL rewrite通过 ISAPI 或 URL 重写通过 IIS 公开 Java Web 应用程序
【发布时间】:2012-07-15 09:57:53
【问题描述】:

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

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

【问题讨论】:

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


    【解决方案1】:

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

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

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

    【讨论】:

    • 当我在 IIS 中配置重写规则时,它充当代理,无需对外暴露“java”端口。所有流量都通过端口 80。感谢 2 中的建议。这是有道理的,但重写规则不需要公开另一个端口这一事实是我询问的原因。
    猜你喜欢
    • 1970-01-01
    • 2019-03-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多