如何在不断开SSL连接的情况下正常重启Apache?


11

我们正在尝试使用以下命令优雅地重新加载Apache:

apache2ctl -k graceful

对于HTTP用户,这可以按预期工作,并且将重新加载Apache配置,而不会影响网站用户。

但是,我们发现在正常重载期间,通过HTTPS访问服务器的用户已断开连接。

如何在不影响SSL连接的情况下优雅地重新加载Apache?

如果有帮助,我们将在Apache 2.4.20上使用HTTP 2。


5
好吧,您可以“重新加载”而不是重新启动apache。假设您运行的是Diffie-Hellman密钥交换之类的东西,那么在重新启动之后,先前“会话”中使用的密钥将不再存在,因此会创建新的密钥。另一种选择是放置某种负载均衡器,该负载均衡器还将ssl处理在apache服务器之前。
哈里斯·卡万

是的,我们正在重新加载(优美)而不是重新启动。
jones

5
如果有人可以确认这是可行的解决方案,那么在HAProxy终止SSL是我们的选择。
琼斯

2
如今,使用代理或负载平衡器终止最终用户ssl相当普遍。然后,为了获得最大的安全性,您将在apache和代理/负载均衡器之间添加“内部” ssl加密。
哈里斯·卡万

5
现在,我们已经确认该错误是Apache 2.4.10中HTTP2模块的问题,希望可以在上游修复。当我们关闭HTTP2时,可以重新加载Apache,而无需断开SSL用户的连接。
jones

Answers:


1

为确保在执行时不保留基于H2的HTTP会话(并且不会终止)apachectl -k graceful,请将Apache软件升级至2.4.24,并将mod_h2软件包升级至1.4.7。


一旦我们升级并尝试了此操作,我将向您报告。谢谢
琼斯
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.