-
자바로 ip 출력하기개발/개발관련 2019. 11. 26. 11:54
1. 자바로 ip 출력하기
로그인한 사람을 로그로 남기기위해 ip를 저장해야한다.
HttpServletRequest를 이용해 ip를 가져올 수 있다.
public static String getIpAddr(HttpServletRequest request){ String ip = request.getHeader("X-FORWARDED-FOR"); 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.getRemoteAddr() ; } return ip; }
하지만 ip를 출력해보면 0:0:0:... 이런식으로 나오는 경우가 있다.
내가 원하는건 123.123.123.123 뭐 이런형식을 원하는건데.
IPv6으로 출력되서 그렇다. 이클립스나 서버에서 IPv4로 나오게끔 설정해야한다.
2. 이클립스에서 설정
run - run configurations 에서 Arguments 탭 메뉴 선택하면 VM Arguments 텍스트 넣는 부분이 있다. 거기에 아래 문장을 복붙하면된다.
-Djava.net.preferIPv4Stack=true
그리고 서버 재시작하면 끝!
3. 톰캣에서 설정
톰캣경로\bin\catalina.bat 파일 열어서 수정해야한다.
:noJuliConfig set JAVA_OPTS=%JAVA_OPTS% %LOGGING_CONFIG% -Djava.net.preferIPv4Stack=true :noJuliManager set JAVA_OPTS=%JAVA_OPTS% %LOGGING_MANAGER% -Djava.net.preferIPv4Stack=true
위와같이 두군데 수정해주고 서버 재시작하면된다.
728x90'개발 > 개발관련' 카테고리의 다른 글
letsencrypt 인증서 갱신하기 (0) 2019.12.20 google street view api panoid에 따라서 이미지 간헐적으로 안나오는 현상 (0) 2019.11.28 자바로 메일 보내기 (0) 2019.11.19 xss 공격 보안 (0) 2019.11.18 CORS 문제 해결 (1) 2019.11.14