Apache mod_remoteip и журналы доступа

Начиная с Apache 2.4 я начал использовать mod_remoteip вместо mod_extract_forwarded для перезаписи клиентского адреса от x-forwarded-for, обеспеченного серверами фронтэнда (лак, сквид, апач и т.д.).

До сих пор все хорошо работает с модулями, т.е. php, cgi, wsgi и т.д.... - клиентские адреса показывают, как они должны быть, но я не мог записать клиентский адрес в журналах доступа (%a, %h, % {c} a). Никакая удача - я всегда добираюсь 127.0.0.1 (localhost вперед напр.).

Как зарегистрировать IP-адрес клиента при использовании mod_remoteip?

Обновление: РАБОТЫ IT O_O - видят ответ ниже

9
задан 26 August 2014 в 01:20
2 ответа

Конфигурация лака:

if (req.restarts == 0) {
    if (req.http.X-Forwarded-For) {
        set req.http.X-Forwarded-For = req.http.X-Forwarded-For + ", " + client.ip;
    } else {
        set req.http.X-Forwarded-For = client.ip;
    }
}

Разделы конфигурации apache 2.4:

mod_remoteip:

RemoteIPHeader X-Forwarded-For
RemoteIPInternalProxy 127.0.0.1/8

ведение журнала (% a выполняет работу):

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

+

, если впереди находится nginx (например, завершение SSL):

server {
    listen       123.123.123.123:443;
    server_name  server.com;
    root         html;

    ssl                  on;
    ssl_certificate      /etc/pki/httpd/site/chain.crt;
    ssl_certificate_key  /etc/pki/httpd/site/private.key;

    ssl_session_timeout  5m;

    ssl_protocols  SSLv2 SSLv3 TLSv1;
    ssl_ciphers  HIGH:!aNULL:!MD5;
    ssl_prefer_server_ciphers   on;

    location / {
        proxy_pass   http://127.0.0.1:6081;
        proxy_set_header Host $http_host;
        proxy_pass_header Server;
        proxy_set_header X-Forwarded-For $remote_addr;
    }
}
20
ответ дан 2 December 2019 в 22:21

Согласно документации mod_remoteip, модуль должен просто заменить IP-адрес клиента, но только при установке RemoteIPHeader x-forwarded-for (doc). Также убедитесь, что ваш лог-фантом использует заданный вами CustomLog.

.
4
ответ дан 2 December 2019 в 22:21

Теги

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