Как записать IP-адрес и Useragent из Vhosts в один файл журнала

В настоящее время в моем httpd файле Apache 2.4 есть несколько виртуальных хостов. Я хотел бы иметь возможность собирать больше информации о том, кто и когда посещает, включая IP-адрес и User Agent в access_log.

В файле httpd conf у меня есть следующее:

` <IfModule log_config_module>
    # info from http://www.techstacks.com/howto/log-client-ip-and-xforwardedfor-ip-in-apache.html
    LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
    LogFormat "%{X-Forwarded-For}i %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" proxy
    SetEnvIf X-Forwarded-For "^.*\..*\..*\..*" forwarded
    CustomLog "logs/access_log" combined env=!forwarded
    CustomLog "logs/access_log" proxy env=forwarded
</IfModule>

Что приводит к следующему: «На данный момент это показывает следующее:

`::1 - - [05/Aug/2016:02:49:26 +1200] "OPTIONS * HTTP/1.0" 200 - "-" "Apache/2.4.23 (Unix) OpenSSL/1.0.1e-fips mod_bwlimited/1.4 (internal dummy connection)"``

Я также пробовал различные другие предлагаемые конфигурации, найденные здесь и в Google, но пока мне не повезло.

Насколько я понимаю, поскольку директива регистрации находится за пределами запись, он должен захватывать указанный трафик ( подробно описан здесь ) - но, как вы можете видеть из примера, он не работает.

0
задан 4 August 2016 в 18:03
1 ответ

Опубликованный вами журнал подключений был внутренним подключением, используемым apache для поддержания работоспособности рабочего. На самом деле это вообще не посетитель! Стандартный "комбинированный" формат по умолчанию должен предоставлять вам записи журнала, которые вы ищете.

Это будет следующий LogFormat:

LogFormat "%h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined

, а затем в вашем блоке VirtualHost вам понадобится следующее:

CustomLog /path/to/access_log combined

Если вы используете кеш обратного прокси, это становится немного интереснее, но модуль apache, такой как mod-rpaf, должен помочь с этим.

1
ответ дан 4 December 2019 в 16:32

Теги

Похожие вопросы