Logar IP do Cliente e IP X-Forwarded-For IP no Apache

Quando o servidor apache fica atrás de um proxy ou loadbalancer o IP do cliente é substituido pelo IP do balanceador/proxy. Para ultrapassar esta limitação um cabeçalho/header costumizado foi desenvolvido pela equipe de desenvolvimento do squid, o X-Forwarded-For header.

A configuração default de logging do apache tem o seguinte formato:

LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\"" combined
CustomLog log/acces_log combined

São necessárias varias alterações à configuração por defeito de forma a que o X-Forwarded-For e o ip real do visitante seja logado. As alterações são as seguintes:

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

Estas alterações resultam no log do endereço IP de cada pedido.

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *