Сбои, вызванные 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