Apache ssl_error_log не записывается в - PullRequest
0 голосов
/ 29 августа 2018

У меня есть клиент, который использует наше проприетарное программное обеспечение. В процессе отладки программного обеспечения на стороне клиента я обнаружил, что сервер не выполняет запись в файл apache ssl_error_log (из-за природы веб-приложение на стороне сервера доступно только по протоколу HTTPS / SSL) и все коммуникации с клиентским программным обеспечением и веб-приложением сервера также осуществляются по протоколу SSL.

Я просмотрел httpd.conf, проверил php.ini и до сих пор не могу найти причину, по которой он не пишет.

Пути к файлам верны, в php включено ведение журнала ошибок. Нет виртуальных хостов, поэтому нет отдельных файлов для проверки.

Если я остановлю apache, удалите файлы журнала, затем перезапустите apache - файлы журнала будут созданы, но они никогда не будут записаны. (- error_log - будет содержать информацию о запуске Apache, но ничего больше.) Поэтому я бы предположил, что это не ошибка прав доступа.

Что еще более озадачивает, так это то, что он писал нормально до 25 июня, а затем внезапно все ssl_error_logs просто прекратились. Я думаю, что это будет указывать на ошибку logrotate.d, но я хочу убедиться в этом, прежде чем касаться ее. Как ни странно, httpd logrotate прекрасно работает для ssl_access_log & ssl_request_log. Они продолжают вращаться и ежедневно создают новые файлы, и они прекрасно записывают данные.

// Код в файле logrotate.d

/var/log/httpd/*log {
  missingok
  notifempty
  sharedscripts
  delaycompress
  postrotate
    /bin/systemctl reload httpd.service > /dev/null 2>/dev/null || true
  endscript
}

Итак, что может быть проблемой с записью в ssl_error_log, очевидно, что есть ошибка (мы получаем ошибку 500 в журналах клиентского компьютера с сервера).

В другой заметке мы создаем тестовый файл>

<?php
error_log("Testing Log");
?>

Затем мы вызываем его из терминала с помощью php /path/testfile.php Ни ssl_error_log, ни error_log не будут записаны (не уверен, что будет при запуске на уровне локального хоста).

(Мы знаем, что ошибка на стороне клиента, но поскольку мы не можем определить природу проблемы на стороне сервера, мы застряли в ее отладке. Проблема возникает случайно - могут быть дни, недели, месяцы - но будет в конечном итоге это происходит на 2 из более чем 50 компьютеров, обменивающихся данными с сервером, который есть у клиента. Мы могли бы легко изменить клиентское программное обеспечение, чтобы обойти ошибку, или принудительно перезапустить, так как это устранит проблему немедленно, пока она не появится снова, но я бы предпочел найти реальная проблема, а не шлепки по ней.)

...