2013-03-12 3 views
1

grails에서 세션 사용자의 원격 주소를 요청하고 싶습니다. 문제 (Grails find public IP address of the session user)에 대해 설명하는 질문을 찾았습니다. 대답이 실제로 작동합니다. request.getRemoteAddr() 만 사용하고 localhost.However에서 0 : 0 : 0 : 0 : 0 : 0 : 0 : 1을받습니다. 사용자의 실제 IP 주소를 보려면 어떻게해야합니까?Grails에서 세션 사용자의 공용 IP 주소 찾기

이 이전 질문에서 "다른 컴퓨터에서 사이트를 볼 때 request.remoteAddr의 출력을 살펴보십시오."라는 것을 발견했습니다. 나는 이것이 실제로 무엇을 의미하는지 모르며 여기서 당신의 도움이 필요합니다. 내 브라우저에서만 서버를로드 할 수 있으며 "localhost : 8080/..."을 사용합니다. 올바른 요청을받는 방법과 위치를 알려주십시오. 감사!!!

답변

0

그게 당신이 얻을 수있는 최선의 방법입니다.

0:0:0:0:0:0:0:1 

귀하의 지역 주소입니다. 또한,이 인해 동적 주소 및 프록시 서버

에 사용자에게 고유하게 보장 할 수 없습니다
2

"다른 컴퓨터에서 사이트 를 볼 때 request.remoteAddr의 출력을보고 시도"

은 LAN에있는 다른 컴퓨터에서 컴퓨터에서 실행중인 응용 프로그램에 연결해야 함을 의미합니다.
LAN에 다른 컴퓨터가있는 경우 로컬 네트워크 IP 주소 (ipconfig 사용)를 찾고 다른 컴퓨터에서이 주소에 연결해야합니다. tim_yates 항상 때문에 동적 주소 및 프록시 서버에 올바른 주소를 반환하지 않을 수 있습니다 request.getRemoteAddr()을 언급 한 바와 같이 예를 들어 사용자의 IP가 192.168.0.2 경우, http://192.168.0.2:8080

에 연결합니다. 그러나 수 있습니다 같은 다양한 HTTP 헤더에서 원래 주소를 찾으십시오. HTTP_CLIENT_IP, HTTP_X_FORWARDED_FOR, HTTP_X_FORWARDED
이 주제에 대한 자세한 정보를 제공하는이 question에 대한 응답을보십시오.