java

getRemoteHost() 느릴 때 대체하기

빈콩님 2022. 8. 5. 07:55


로그인/ 로그아웃 프로세스가 느리다는 이슈가 생겨서 확인해보니 로그 쌓는 부분이 느렸다.

그 로그 쌓는 부분에서 ip를 찾아오는 놈(request.getRemoteHost())때메 느렸다.
대체 왤까 ?-?
망연계라서 ip가 꼬여서 늦게 나오나 했으나
내부망에서도 그랬다함;

폭풍 구글링을 했으나 원인을 알 수가 없다..
혹시 아시는 분 ...
서버는 제우스입니다 .. ㅋ

글서 request.getRemoteHost() 를 아래와 같이 대체하였습니다.

public static String getClientIp(HttpServletRequest request) {
    String ip = request.getHeader("X-Forwarded-For");
   
    if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
        ip = request.getHeader("Proxy-Client-IP");
    }
    if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
        ip = request.getHeader("WL-Proxy-Client-IP");
    }
    if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
        ip = request.getHeader("HTTP_CLIENT_IP");
    }
    if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
        ip = request.getHeader("HTTP_X_FORWARDED_FOR");
    }
    if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
        ip = request.getRemoteAddr();
    }
    return ip;
}

'java' 카테고리의 다른 글

SheetJS로 테이블을 엑셀로 저장하기  (0) 2022.08.10