我在Debian上安装了一个安装了mod_ssl的Apache 2。服务器私钥受需要在启动时输入的passphase保护。错误和访问日志每周都需要logrotate。我发现在logrotate运行后不久,Apache就会出现与密码短语相关的错误。
我知道logrotate在归档日志后会向Apache激活一个SIGHUP,我怀疑这会导致重新加载,并且后续失败会获取服务器密钥的密码。
嗯,根据我的理论,这就是问题:
是否有一种“最佳实践”方式,可以配置Apache以允许其SSL服务器密钥受密码保护(不在某个文件中存储该密码),以便在logrotate运行时不会崩溃? / p>
可以在服务器启动时要求用户输入,但不能重新启动或重新加载。
答案 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重启的情况下移动文件。