Сбои, вызванные logrotate на Apache 2 с ключом SSL, защищенным парольной фразой

У меня есть установка Apache 2 на Debian с установленным mod_ssl. Закрытый ключ сервера защищен парольной фазой, которую необходимо ввести при запуске. Журналы ошибок и доступа подлежат logrotate на еженедельной основе. Я обнаружил, что Apache падает с ошибкой, связанной с парольной фразой, вскоре после запуска logrotate.

Я понимаю, что logrotate запускает SIGHUP для Apache после архивации журналов, и я подозреваю, что это вызывает перезагрузку и последующий сбой при получении ключевой фразы для ключа сервера.

Ну, хватит с моими теориями, вот вопрос:

Есть ли лучший способ настройки Apache, чтобы позволить его ключам SSL-сервера быть защищенными парольной фразой (без сохранения этой парольной фразы где-нибудь в файле), чтобы она не вылетала при запуске logrotate?

Вполне нормально требовать ввода данных пользователем при запуске сервера, но не перезапускать и не перезагружать.

3 ответа

Решение

Одним из вариантов является использование предоставленного Apache инструмента ротации журналов. Его конфигурация немного отличается от системного logrotate, но, поскольку он работает с конвейерами, может перемещать файлы без перезапуска Apache.

Вы можете использовать Cronolog, который не требует вздоха. Вот пример:

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

Вы также можете отключить фразу-пароль, используя следующую команду:

openssl rsa -in example.tld.key -out example.tld.key
Другие вопросы по тегам