Si revisamos los logs de una página alojada en apache que utiliza las DNS de Cloudflare, veremos que todas las IP de los visitantes pertenecen a la red de Cloudflare y no a la IP del visitante real.
Para solucionar esto debemos activar y configurar el módulo remoteip de apache siguiendo estos pasos:
Creamos el archivo /etc/apache2/mods-available/remoteip.conf con este contenido:
RemoteIPHeader CF-Connecting-IP
RemoteIPTrustedProxy 173.245.48.0/20
RemoteIPTrustedProxy 103.21.244.0/22
RemoteIPTrustedProxy 103.22.200.0/22
RemoteIPTrustedProxy 103.31.4.0/22
RemoteIPTrustedProxy 141.101.64.0/18
RemoteIPTrustedProxy 108.162.192.0/18
RemoteIPTrustedProxy 190.93.240.0/20
RemoteIPTrustedProxy 188.114.96.0/20
RemoteIPTrustedProxy 197.234.240.0/22
RemoteIPTrustedProxy 198.41.128.0/17
RemoteIPTrustedProxy 162.158.0.0/15
RemoteIPTrustedProxy 104.16.0.0/13
RemoteIPTrustedProxy 104.24.0.0/14
RemoteIPTrustedProxy 172.64.0.0/13
RemoteIPTrustedProxy 131.0.72.0/22
Debemos revisar el listado de IP de Cloudfare y modificar el archivo con las IP que correspondan.
Activar ipremote con este comando:
a2enmod ipremote
Reiniciamos apache
systemctl restart apache2
Ahora en los logs debería aparecer ya la IP real del visitante y no las de Cloudfare. En caso de que no sea así, revisar el formato de los logs de apache y cambiar en la variable LogFormat del apache.conf el %h por %a y reiniciar apache.
Deja una respuesta