我有一台装有 IIS 7.5 和 Apache Tomcat 5.5 的 Windows Server 2008 R2 Box。JSP 流量通过 AJP Connector 版本 1.3 从 IIS 路由到 Tomcat。此连接器使用 IIS 中的 isapi 过滤器来识别要路由到 Tomcat 的流量。
我想只为 Tomcat 部分设置 HTTPS,但考虑到上述配置,这似乎并不那么简单。到目前为止,似乎我必须将 SSL 应用于 IIS,加密所有流量,而且似乎没有办法解决这个问题,这就是为什么我在这里寻找我可能错过的解决方案。
链接这里其中有一节指出 IIS 通常必须启用 SSL,但通常也许,这为替代解决方案留下了一些回旋余地。
有没有一种方法可以让我仅将 SSL 应用于 Tomcat 而不用管 IIS?或者,如何仅为特定页面(即 .JSP)设置 SSL?
非常感谢。
更新
我在 Tomcat 上设置了 HTTPS,无需接触 IIS。因此,现在 HTTP 和 HTTPS 都处于活动状态。我还可以通过 web.xml 文件中的 url-pattern 过滤哪些页面应强制使用 HTTPS。现在的问题是如何强制某些页面使用 HTTP?例如,我在登录页面,它是 HTTP。我提交页面并通过 HTTPS 连接进行身份验证。身份验证成功后,它应该返回 HTTP 主页(即 index.jsp)。如何做到这一点?
谢谢。
答案1
当请求进入 IIS 并传递到 Tomcat 时,HTTP 传输在 IIS 处终止。IIS 使用的 ISAPI 处理程序转换请求并使用 AJP 与 Tomcat 通信。Tomcat 和 IIS 之间没有 HTTP 流量交换。
AJP 代表Apache JServ 协议。它是一种实际协议,而不是超文本传输协议 (HTTP)。话虽如此,AJP 通常不需要 SSL 通信。无论哪种方式此主题对该主题进行了很好的讨论。但是,大部分讨论都是围绕使用 HTTPS 转发器到 Tomcat 而不是 AJP 展开的。您可能需要研究 IIS ARR 来实现这一点。