설명
로테이팅 프록시는 단일 프록시라기보다는 서비스 수준의 개념입니다. 하나의 IP를 제공하는 대신, IP 풀에 대한 접근을 제공하며 게이트웨이가 보내는 각 요청마다(또는 타이머에 따라) 다른 IP를 선택합니다. 목적지 사이트는 여러 다른 IP에서 오는 요청의 흐름을 보게 되며, 이는 IP별 속도 제한에 대한 가장 효과적인 방어 수단입니다.
로테이팅 프록시 서비스는 대개 레지덴셜 프록시를 기반으로 구축되며, 기반이 되는 풀은 게이트웨이가 활용할 수 있는 수억 개의 소비자 IP로 구성됩니다. 각 요청은 독립적으로 보입니다. 게이트웨이는 하나의 연결을 종료하고 새로운 종료 IP를 선택한 후 다음 요청을 위해 새로운 연결을 엽니다. 따라서 대상 사이트는 사용자의 활동을 단일 출처로 추적할 수 없습니다.
이때 발생하는 절충점은 세션 연속성입니다. 여러 요청에 걸쳐 동일한 IP가 필요한 작업(로그인 흐름, 다단계 결제, IP에 종속된 CSRF 토큰)은 요청 단위 로테이션에서는 제대로 작동하지 않습니다. 이러한 경우에는 로테이션 전에 일정 기간 동안 하나의 IP를 유지하는 스티키 세션을 사용해야 합니다.
작동 방식
로테이팅 프록시 게이트웨이에 연결하면, 한 번만 인증한 후 단일 엔드포인트에 연결하는 것처럼 요청을 보낼 수 있습니다. 게이트웨이는 사용 가능한 종료 IP 풀(제품에 따라 레지덴셜, ISP 또는 모바일)을 유지합니다. 들어오는 각 요청에 대해 무작위, 라운드 로빈 또는 지역/상태 필터를 기준으로 IP를 선택한 다음 해당 IP를 통해 요청을 전달합니다.
대상 사이트는 모든 요청이 동일한 클라이언트에서 발생했음에도 불구하고 N개의 서로 다른 IP에서 온 N개의 요청을 보게 됩니다. 게이트웨이가 모든 연결 관리, IP 상태 확인, 로테이션 로직을 처리하므로, 클라이언트 입장에서는 마치 단일 프록시 주소가 요청마다 '마법처럼' 다른 발신 IP를 반환하는 것처럼 보입니다.