Si trabajas con Amazon ELB para balanceo de carga habrás notado en los logs que la dirección IP que se registra es la misma por cada petición que llega al servidor web. Esta dirección IP que miras es la dirección del Balanceador.
Si en vez de la dirección IP del balanceador necesitas registrar la direccion IP del cliente (Remote host), ya sea por temas de estadísticas u otra razón, podemos utilizar “X-Forwarded-For “, una cabecera que nos permite conocer la dirección IP y que podemos activar en nuestra configuración de apache de la siguiente manera:
- En nuestro fichero de configuración de apache (apache.conf ó http.conf), modificaremos el valor de LogFormat
Antes:
LogFormat "%h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined
Formato de Logs:
10.224.29.25 - - [20/May/2012:12:31:23 +0200] "GET /afqera/dferdasd/999/162/162-1.jpg HTTP/1.1" 200 2512 "-" "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.46 Safari/536.5"
10.224.29.25 - - [20/May/2012:12:49:01 +0200] "GET /afqera/dferdasd/999/027/27-1.jpg HTTP/1.1" 200 3905 "-" "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.
Modificado:
LogFormat "\"%{X-Forwarded-For}i\" %h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined
Formato de Logs:
"62.43.198.254" 10.228.235.230 - - [02/Jul/2012:10:50:34 +0200] "GET /afqera/dferdasd/999/071/71-1.jpg HTTP/1.1" 200 2163 "-" "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.0; Trident/5.0)"
"62.43.198.254" 10.228.235.230 - - [02/Jul/2012:10:50:34 +0200] "GET /afqera/dferdasd/999/162/162-1.jpg HTTP/1.1" 200 2512 "-" "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.0; Trident/5.0)"