本文档解释了如何设置适用于 IIS 的 ISAPI 重定向器以与 Tomcat 协作。
通常,IIS 无法执行 Servlet 和 Java Server Pages (JSP)。配置 IIS 使用 ISAPI 重定向器插件将使 IIS 能够将 Servlet 和 JSP 请求发送到 Tomcat(从而将它们提供给客户端)。
建议您同时阅读 Worker 操作指南 文档,以了解如何在您的 Web 服务器和 Tomcat 引擎之间设置工作实体。有关更详细的配置信息,请查阅 workers.properties、uriworkermap 和 IIS 的参考指南。
文档约定和假设
${tomcat_home} 是 Tomcat 的根目录。您的 Tomcat 安装应包含以下子目录
- ${tomcat_home}\conf - 您可以放置各种配置文件的地方
- ${tomcat_home}\webapps - 包含示例应用程序
- ${tomcat_home}\bin - 您放置 Web 服务器插件的地方
在本文档中的所有示例中,${tomcat_home} 将是 c:\tomcat。Worker 被定义为接受来自 IIS 服务器工作的 Tomcat 进程。
支持的配置
IIS 到 Tomcat 重定向器支持:
- 运行在任何当前支持的 Windows 版本上的 IIS
- 所有当前支持的 Tomcat 版本
该重定向器可能与运行在较旧、不受支持的 Windows 版本和/或 Tomcat 上的 IIS 配合使用,但此类配置不受支持。
AJP 协议?
该重定向器使用 AJP 协议将请求发送到 Tomcat 容器。使用的 AJP 版本是 ajp13。所有当前版本的 Tomcat 都支持 ajp13 协议。其他 Servlet 引擎,例如 Jetty 和 JBoss,也支持 ajp13 协议。
ajp12 协议已弃用,您不应再使用它。ajp14 协议被认为是实验性的。
它是如何工作的?
- ISAPI 重定向器是一个 Microsoft IIS 插件(过滤器 + 扩展)。IIS 加载重定向器插件并为每个传入请求调用其过滤器函数。
- 过滤器随后根据 uriworkermap.properties 中保存的 URI 路径列表测试请求 URL。如果当前请求与 URI 路径列表中的某个条目匹配,则过滤器将请求传输到扩展。
- 扩展收集请求参数并使用定义的协议(如 ajp13)将其转发给相应的 Worker。
- 扩展从 Worker 收集响应并将其返回给浏览器。