-
자바 request.getRemoteAddr() 출력하면 0:0:0:0:0:0:0:1 표출 문제Web Programming 2023. 2. 13. 21:13728x90반응형
자바 소스에 아래와 같이 String ip = request.getHeader("X-Forwarded-For"); getHeader 를 넣어주고도 ip 주소가 0:0:0:0:0:0:0:1 가 나오게 된다. 0:0:0:0:0:0:0:1 는 IPV6 주소를 가져와서 그렇고 IPV4로 보면 127.0.0.1 로 맞음. 그 이유는 이클립스에서 톰캣실행시 세팅해주면 IPV6로 가져오기 때문. if (ip == null || ip.length() == 0) { ip = request.getHeader("Proxy-Client-IP"); } if (ip == null || ip.length() == 0) { ip = request.getHeader("WL-Proxy-Client-IP"); } if (ip == null || ip.length() == 0) { ip = request.getHeader("HTTP_CLIENT_IP"); } if (ip == null || ip.length() == 0) { ip = request.getHeader("HTTP_X_FORWARDED_FOR"); } if (ip == null || ip.length() == 0) { ip = request.getRemoteAddr(); }
해결방법은
메뉴 RUN > Run Configurations > Arguments >에서 -Djava.net.preferIPv4Stack=true 추가해주면된다.
추가 할 때 한칸 띄우고 추가!!
추가 후 톰캣 재기동 후 확인
728x90반응형'Web Programming' 카테고리의 다른 글
JAVA 자바 배열 선언 구조 3가지 (0) 2023.02.14 자바 특정 문자열 -> 큰따옴표로 변경 repalceAll (0) 2023.02.14 자바 int 천단위 콤마 찍기 (0) 2023.02.13 JAVA 자바 기본 for문 예시 (0) 2023.02.13 JAVA 자바 for문 합계구하기 예시 (0) 2023.02.13