%20%E5%92%8C%20Apache%20Tomcat%205.5%20%E9%80%8F%E9%81%8E%20SSL%20(HTTPS)%20%E5%8A%A0%E5%AF%86%E6%9F%90%E4%BA%9B%E9%A0%81%E9%9D%A2%EF%BC%9F.png)
我有一個帶有 IIS 7.5 和 Apache Tomcat 5.5 的 Windows Server 2008 R2 Box。 JSP 流量透過 AJP 連接器版本 1.3 從 IIS 路由到 Tomcat。此連接器使用 IIS 中的 isapi 篩選器來識別要路由到 Tomcat 的流量。
我想僅為 Tomcat 部分設定 HTTPS,但考慮到上面的配置,它似乎不那麼簡單。到目前為止,我似乎必須對 IIS 應用 SSL,加密所有流量,而且似乎沒有辦法解決它,這就是為什麼我在這裡尋求一個我可能錯過的解決方案。
連結這裡有一節指出 IIS 通常必須啟用 SSL,但是通常也許,這個消息為替代解決方案留下了一些迴旋餘地。
是否存在一種方法,我只能將 SSL 應用到 Tomcat,而不管 IIS?或者,如何僅為特定頁面(即 .JSP)設定 SSL?
非常感謝。
更新
我在 Tomcat 上設定了 HTTPS,但沒有接觸 IIS。所以,現在 HTTP 和 HTTPS 都處於活動狀態。我還可以透過 web.xml 檔案中的 url 模式過濾哪些頁面應強制使用 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 通訊。無論哪種方式這個線程對這個話題有很好的討論。然而,大部分討論都是基於使用 Tomcat 的 HTTPS 轉送器而不是 AJP。您可能需要研究 IIS ARR 才能完成此任務。