2012-07-11 83 views
1

我們的Apache2實例偶爾似乎在加載時停止響應SSL請求。Apache停止響應SSL + mod_jk

我們有一個運行Apache 2.2 w/OpenSSL的Windows Server 2003。它配置了mod_jk連接器版本1.2.32,它平衡了Tomcat 6的兩個實例。

Apache2配置爲接受80上的請求,並使用mod_rewrite重定向到443,這很好地工作。 (這個很重要)

我們有一個外部進程,通常調用通過mod_jk映射的URL。該流程配置不佳,最初將請求發送到http(:80),然後重定向到https(:443),導致服務器雙擊。這意味着access.log會顯示兩個請求,一個是302狀態(來自80請求的重定向),後面是200狀態(來自:443請求的確定)。

最終access.log停止顯示後續的「狀態200」消息,並只顯示302(重定向)。通過瀏覽器訪問https URL也證實Apache沒有響應。我們的Monitis警報說:「關鍵 - 無法建立SSL連接」。另外,我們的mod_jk.log在這個失敗的時候停止了記錄請求。這裏需要注意的一點是,Apache繼續回覆所有http請求,並在ssl請求失敗的同時發送302重定向。

通過http直接訪問兩個tomcat實例中的每一個都成功了,沒有任何問題。

我們重新啓動了我們的Apache2服務,它立即解決了問題,並且事情再次開始正常運行。

這個謎題中有很多移動部件,我不確定是什麼罪魁禍首。我懷疑SSL可能存在問題,但當時我沒有通過SSL測試非Tomcat URL。它也可以是mod_jk相關的。謝謝閱讀。

回答

0

我強烈建議你把mod_jk改爲 mod_ajp_proxy mod_proxy_ajp。它完全一樣,但配置起來更爲簡單;它被構建到Apache中而不是Tomcat項目的副產品;當你需要它的時候它可以和mod_proxy_balancer一起使用;它在包括SSL在內的工作中一直在爲我工作幾個月,在生產中完美無瑕。

+0

谷歌搜索顯示,我認爲你的意思是mod_proxy_ajp。我希望能儘快嘗試。謝謝! – 2012-07-19 02:39:23

+0

@KrisKoskelin哎呀,是的,tks,修正了這個問題。 – EJP 2012-07-19 03:05:38

+0

更新:mod_proxy_ajp是一個快速設置。到目前爲止,沒有古怪的連接問題。 *十字手指* 謝謝! – 2012-08-16 03:12:54