У меня есть два виртуальных хоста для обслуживания одного и того же сайта, настроенного в Apache / 2.4.18 (Ubuntu), один для http-порта 80, а другой для https-порта 443.
В настоящее время у меня есть два отдельных файла журнала: access.http.log
и access.ssl.log
но очень неприятно переключаться между ними во время аудита. Изначально у меня был журнал обоих хостов в одном файле access.log
но я не мог различить их при устранении проблем с запросами трафика.
Я хотел бы снова записать их только в один файл, но не могу найти в документация как записать номер порта запроса, чтобы я мог различать виртуальные хосты в режиме реального времени. Это возможно?
Я заметил один небрежный способ: протокол регистрируется в реферере http (https: //localhost/referringpage.php), но этого недостаточно, поскольку перенаправления и ссылки могут приходить откуда угодно - я просто хочу зарегистрировать порт текущего запроса.
Вам нужно будет определить собственный шаблон журнала (http://httpd.apache.org/docs/current/mod/mod_log_config.html), который может включать значение переменной среды с помощью %{VARNAME}e
обозначение. Используя переменные, которые mod_ssl
делает доступным (https://httpd.apache.org/docs/2.4/mod/mod_ssl.html) вы можете включить как минимум что-то вроде %{HTTPS}e
который покажет, какие запросы были через SSL / TLS или нет.
Лично я обычно добавляю несколько из этих переменных, чтобы я мог проверить, какие шифры, версии протокола и т. Д. Используются клиентами для влияния на решения по настройке.
Как только вы это сделаете, поместите его в стек ELK, как предложено в комментариях, что позволит вам создать несколько информативных панелей мониторинга.