Apache 2上的logrotate使用密码保护SSL密钥导致的故障

时间:2008-09-16 22:26:09

标签: ssl crash apache2 logrotate passphrase

我在Debian上安装了一个安装了mod_ssl的Apache 2。服务器私钥受需要在启动时输入的passphase保护。错误和访问日志每周都需要logrotate。我发现在logrotate运行后不久,Apache就会出现与密码短语相关的错误。

我知道logrotate在归档日志后会向Apache激活一个SIGHUP,我怀疑这会导致重新加载,并且后续失败会获取服务器密钥的密码。

嗯,根据我的理论,这就是问题:

是否有一种“最佳实践”方式,可以配置Apache以允许其SSL服务器密钥受密码保护(不在某个文件中存储该密码),以便在logrotate运行时不会崩溃? / p>

可以在服务器启动时要求用户输入,但不能重新启动或重新加载。

3 个答案:

答案 0 :(得分:2)

你可以使用Cronolog,不需要叹气。这是一个例子:

CustomLog "| /usr/sbin/cronolog /pathtologs/%Y_%m/sitename.com-%Y%m%d.log" combined

答案 1 :(得分:2)

您还可以使用以下命令关闭密码:

openssl rsa -in example.tld.key -out example.tld.key

答案 2 :(得分:1)

一种选择是使用Apache提供的日志轮换工具。它的配置与系统logrotate略有不同,但是当它与管道一起使用时,可以在没有Apache重启的情况下移动文件。