Archivo

Entradas Etiquetadas ‘ec2’

Registrar IP del header X_FORWARDED_FOR en Apache

sábado, 22 de marzo de 2014 Sin 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)