本文档介绍如何设置 IIS 的 ISAPI 重定向器与 Tomcat 协作。
通常,IIS 无法执行 Servlet 和 Java Server Pages (JSP)。将 IIS 配置为使用 ISAPI 重定向器插件将允许 IIS 将 servlet 和 JSP 请求发送到 Tomcat(并通过这种方式将它们提供给客户端)。
建议您还阅读工作进程指南文档,以了解如何在 Web 服务器和 Tomcat 引擎之间设置工作实体。有关更详细的配置信息,请参阅workers.properties、uriworkermap和IIS的参考指南。
文档约定和假设
${tomcat_home} 是 tomcat 的根目录。您的 Tomcat 安装应具有以下子目录
- ${tomcat_home}\conf - 您可以在其中放置各种配置文件
- ${tomcat_home}\webapps - 包含示例应用程序
- ${tomcat_home}\bin - 您放置 Web 服务器插件的位置
在本文档的所有示例中,${tomcat_home} 将为 c:\tomcat。工作进程被定义为接受 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)将它们转发到适当的工作程序。
- 扩展收集来自工作程序的响应并将其返回给浏览器。