2009-09-14 4 views
2

웹 페이지를 방문하는 클라이언트의 IP 주소를 얻는 방법을 알고 싶습니다. JSP 페이지의 내용 :JSP getRemoteAddress 문제

<% 
out.print(request.getRemoteAddr() + "<br>"); 
out.print(request.getRemoteHost()); 
%> 

출력 :

0:0:0:0:0:0:0:1 
0:0:0:0:0:0:0:1 
+0

서버를 실행중인 OS는 무엇입니까? –

+0

Vista를 실행하는 경우 http://support.microsoft.com/kb/929852에서 제공되는 지침에 따라 IPv6을 비활성화 할 수 있습니다. getRemoteAddr() 및 getRemoteHost()의 동작은 변경되지 않으므로 프록시 또는로드 밸런서가보고 한 IP 주소를 얻을 수 있습니다. –

답변

6

는 "0 : 0 : 0 : 0 : 0 : 0 : 0 : 1"RFC 3513에 정의 된대로의 IPv6 루프백 주소입니다.

OS와 응용 프로그램 서버가 IPv6을 사용하도록 구성되어 있고 로컬 컴퓨터에서 페이지에 액세스하고있는 것으로 보입니다.

그런데 getRemoteAddress()를 호출해도 클라이언트의 IP 주소가 제공되지 않습니다. 주소를받을 수있는 중간 노드가 네트워크에있을 수 있습니다. 이것은 특히 프록시와로드 밸런서에 해당됩니다.

+0

하지만 정확한 IP로 0 : 0 : 0 : 0 : 0 : 0 : 0 : 1을 어떻게 변환 할 수 있습니까? –