Inicio > Internet y redes, Linux, Software > Registrar IP del header X_FORWARDED_FOR en Apache

Registrar IP del header X_FORWARDED_FOR en Apache

Sábado, 22 de Marzo de 2014 Dejar un comentario Ir a comentarios

Hay algunas instalaciones de Apache que no son accesibles directamente desde Internet, sino que a través de un proxy inverso cache o balanceo de carga, esto significa que en los registros (logs) de acceso las visitas aparecerán con la IP del proxy/balanceador en lugar de la IP del visitante.

image

La IP real del visitante la envía el proxy/balanceador en el header “X_FORWARDED_FOR” el que debe usarse en los scripts en lugar de REMOTE_ADDR, para que Apache la utilice en los registros en el archivo de configuración del virtual host se deben agregar estas líneas: (el del sitio por defecto está ubicado en /etc/apache2/sites-available/default)

LogFormat “%{X-Forwarded-For}i %l %u %t \”%r\” %>s %b \”%{Referer}i\” \”%{User-Agent}i\”” proxy
SetEnvIf X-Forwarded-For “^.*\..*\..*\..*” forwarded
CustomLog ${APACHE_LOG_DIR}/direct.log proxy env=forwarded

image

Esto creará un archivo direct.log en la carpeta de logs del apache que es por defecto /var/log/apache2 en Debian/Ubuntu Server.

Luego de guardar los cambios y reiniciar el servicio aparecerá el mencionado archivo, el que contendrá la IP del visitante como primer campo.

image

Fuente: http://www.techstacks.com/howto/log-client-ip-and-xforwardedfor-ip-in-apache.html (incluye script para probar el registro)