Начиная с Apache 2.4 я начал использовать mod_remoteip вместо mod_extract_forwarded для перезаписи адреса клиента из x-forwarded-for, предоставляемого серверами внешнего интерфейса (лак, squid, apache и т. Д.).
Пока что все отлично работает с модулями, т.е. php, cgi, wsgi и т. Д. - адреса клиентов отображаются в порядке, но я не могу записать адрес клиента в журналах доступа (% a,% h,% {c } а). Не повезло - я всегда получаю 127.0.0.1 (localhost forward ex.).
Как записать IP-адрес клиента при использовании mod_remoteip?
Обновление: ОНО РАБОТАЕТ - см. Ответ ниже
Ответы:
Конфигурация лака:
Разделы конфигурации Apache 2.4:
mod_remoteip:
ведение журнала (% a выполняет работу):
+
если впереди nginx (например, завершение SSL):
источник
Согласно документации mod_remoteip , модуль должен просто заменить IP-адрес клиента, но только когда
RemoteIPHeader x-forwarded-for
он установлен ( doc ). Также убедитесь, что в журнале вашего vhost используется CustomLog, который вы определили.источник