Charles의 External Proxies 페이지는 웹 업스트림과 SOCKS 설정을 구분합니다. 문서에서는 그 SOCKS 설정을 포트 포워딩처럼 HTTP(S)가 아닌 트래픽에 배정합니다. 이 필드를 채워도 캡처된 HTTPS 요청에 SOCKS 업스트림이 선택되지는 않습니다.

기존 Tor 서비스라면 HTTP 터널 리스너가 Charles의 HTTPS 업스트림이 기대하는 인터페이스를 제공할 수 있습니다. loopback 전용 torrc 항목은 다음과 같습니다:

HTTPTunnelPort 127.0.0.1:8118

사용하지 않는 로컬 포트를 고르고 해당 Tor 배포의 일반 구성 수명 주기를 통해 변경을 적용하세요. Charles에서 External Proxies를 활성화하고 Secure Web Proxy (HTTPS) 엔드포인트를 127.0.0.1과 그 포트로 구성합니다.

HTTPS 설정은 대상이 HTTPS를 사용하는 요청을 선택합니다. Tor의 리스너는 그 요청의 TCP 스트림을 운반하기 위해 HTTP CONNECT를 받아들입니다. TLS로 암호화된 HTTPS 프록시 리스너는 아닙니다.

이 구성은 특히 HTTPS 경로입니다. HTTPTunnelPort는 일반 포워드 프록시의 절대 URL GET 처리를 구현하지 않으므로, 같은 항목이 일반 HTTP 탐색도 처리한다고 가정하지 마세요.

Charles의 클라이언트 측 리스너를 이 업스트림 엔드포인트와 분리해 두세요. 브라우저는 Charles에 연결하고, Charles는 Tor의 터널 리스너에 연결합니다.

관련 글