Похоже, что обновление Apache 2.2 до 2.4 изменило формат файла журнала ошибок. Журналы ошибок, используемые для отображения IP-адреса удаленного клиента.
Журнал ошибок Apache 2.2: [Thu Aug 29 08:28:46 2019] [error] [client 50.57.61.20] message
Журнал ошибок Apache 2.4: [Thu Aug 29 08:02:23.779174 2019] [:error] [pid 10036] message
К счастью, Apache 2.4 добавил ErrorLogFormat
директива. Я уточнил:
ErrorLogFormat "[%{u}t] [%-m:%l] [%a] %M"
Но %a
строка формата, которая должна показать "IP-адрес клиента и порт запроса" давая мне пустой.
Теперь журнал ошибок: [Thu Aug 29 11:13:13.281770 2019] [-:error] message
Чего я ожидал: [Thu Aug 29 11:13:13.281770 2019] [-:error] [204.115.145.100] message
Строка формата. IP-адреса клиентов правильно отображаются в журнале доступа, который имеет %h
Строка формата для «Имя удаленного хоста». Для ErrorLogFormat такой строки формата нет.
У нас работает выделенная Rackspace CentOS 7.6.1810, Apache 2.4.6.
%a
начал работать, когда мы обновлен mod_wsgi с 3.4.18 до 4.6.2. Спасибо Федору В. из WSM International.