Показывать запросы Cloudflare в журнале apache


У меня есть несколько сайтов, использующих cloudflare в качестве CDN с установленным apache mod_cloudflare для восстановления исходных IP-адресов посетителей в журналах моего сервера. Кто-нибудь знает, как я могу заставить журналы определять, какие запросы поступали через cloudflare, а какие нет?

Author: cbull, 2013-03-13

1 answers

Я просмотрел исходный код mod_cloudfare.c: https://github.com/cloudflare/CloudFlare-Tools/blob/master/mod_cloudflare.c . Похоже, что модуль регистрирует информацию, которую вы ищете:

ap_log_rerror(APLOG_MARK, APLOG_INFO|APLOG_NOERRNO, 0, r,
              conn->proxy_ips
                  ? "Using %s as client's IP by proxies %s"
                  : "Using %s as client's IP by internal proxies",
              conn->proxied_ip, conn->proxy_ips);

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

Если есть заголовки, которые cloudflare отправляет сообщения, которые вы хотите зарегистрировать, вы можете добавить их в свой журнал доступа, используя %{Foobar}i в определении файла журнала, где "Foobar" - это имя заголовка. Например, вы можете выбрать формат журнала следующим образом:

"%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\"" %{CF-Connecting-IP}i
 1
Author: Stephen Ostermiller, 2013-03-13 10:59:18