NGINX에서 캐시서버를 타면 동일 IP를 두개를 연결지어 가져오는 오류로 이로 인해 IP를 제대로 인식하지 못한다.
NGINX 서버에서의 가져온 IP 값

111.111.111.111, 111.111.111.111

정상적으로 가져온 IP 값

111.111.111.111

위와 같은 케이스가 생길 수 있기에
반드시 getRemoteAddress 메소드에서 아래와 같이 처리를 같이 해줘야 한다.

$ipAddressCheck = explode(",", $ipAddress);
if(count($ipAddressCheck) > 1) {
    if(preg_match('/^(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)(?:[.](?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)){3}$/', current(trim($ipAddressCheck))) == true) { 
        $ipAddress = current(trim($ipAddressCheck));
    }
}
return $ipAddress;

Categories:

Tags:

NGINX에서의 REMOTE_ADDR 오류 이슈 | it 사람들의 오늘 이야기에 답글 남기기 응답 취소

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다