代码之家  ›  专栏  ›  技术社区  ›  Mike Tunnicliffe

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

  •  3
  • Mike Tunnicliffe  · 技术社区  · 17 年前

    我在Debian上安装了Apache 2,并安装了mod_ssl。服务器私钥受启动时需要输入的passphase保护。错误和访问日志每周进行一次日志轮换。我发现Apache在logrotate运行后不久就因与密码相关的错误而崩溃。

    我了解到logrotate在归档日志后向Apache发出SIGHUP,我怀疑这会导致重新加载并随后无法获取服务器密钥的密码。

    好了,我的理论够多了,问题是:

    是否有一种“最佳实践”的方法来配置Apache,允许其SSL服务器密钥受密码保护(无需将密码存储在某个文件中),这样在logrotate运行时就不会崩溃?

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

    3 回复  |  直到 17 年前
        1
  •  1
  •   Yann Ramin    17 年前

    你可以使用 Cronolog ,这不需要sighup。这里有一个例子:

    CustomLog "| /usr/sbin/cronolog /pathtologs/%Y_%m/sitename.com-%Y%m%d.log" combined
    
        2
  •  2
  •   Andrew Cholakian    17 年前

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

    openssl rsa -in example.tld.key -out example.tld.key
    
        3
  •  2
  •   Derek P.    16 年前

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