Alguém já passou por este problema de IP?
Utilizo:
ServletRequest servletRequest = (ServletRequest)facesContext.getExternalContext().getRequest();
String ip = servletRequest.getRemoteAddr();
Porém, quando outras pessoas acessam o sistema, ele está trazendo o IP do ISA (Windows Server 2003), servidor com o final 1.
Eu necessito do IP da máquina da pessoa, e não por onde ela está saindo, alguém tem a solução???
o getLocalAddr só traz o servidor de aplicação também, não traz o IP da máquina da pessoa.
[code]import java.net.InetAddress;
import java.net.UnknownHostException;
public class IPAdress {
public static void main(String[] args) {
try {
System.out.println(InetAddress.getLocalHost().getHostName());
System.out.println(InetAddress.getLocalHost().getHostAddress());
} catch (UnknownHostException e) {
e.printStackTrace();
}
}
}[/code]
Assim ele só pega o IP do servidor (aonde estou rodando a minha aplicação)…
Se o cliente estiver acessando seu sistema via proxy, quem fará a requisição será sempre o proxy, portanto o único IP ao qual você tem acesso é o do proxy, não consegue acessar os IP’s da rede interna.