String ipAddress = request.getRemoteAddr();
Pero, si el usuario se conecta via un servidor proxy (ya sea de software o hardware) o en un esquema de alta disponibilidad considerando un balanceador de carga, el código original devolvera el ip del balanceador, router o proxy, no el ip del cliente original conectado.
Para resolver este problema, se debe recuperar la direccion IP del encabezado de la peticion HTTP mas conocida como “X-Forwarded-For (XFF)“ De la siguiente manera:
            
   //el cliente esta conectandose a traves de algun otro equipo?
   String ipAddress = request.getHeader("X-FORWARDED-FOR");  
   if (ipAddress == null) {  
    ipAddress = request.getRemoteAddr();  
   }
Hasta la próxima!

 
Si se utiliza protocolo SOAP la implementación del "X-FORWARDED-FOR" se podría implementar para obtener la ip de la petición original y no la del balanceador? o es diferente?
ResponderEliminar