2012-07-11 90 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