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