URL 상자가 있는 페이지는 웹 애플리케이션입니다. 거기에 목적지를 입력하면 그 애플리케이션에 콘텐츠를 가져와 보여 달라고 요청하는 것입니다. 브라우저에 HTTP나 SOCKS 프록시를 쓰라고 알려 주는 것과는 다른 구조입니다.

기본 프록시 설정에서는 브라우저가 목적지 URL을 여전히 웹사이트로 취급합니다. 전통적인 웹 폼 프록시에서는 보이는 페이지가 프록시 애플리케이션 자체의 URL 스킴과 오리진을 통해 제공됩니다. 서비스는 이동이 이어지도록 링크, 스크립트, 헤더, 쿠키를 다시 쓸 수 있습니다.

동작차이가 중요한 이유
동일 오리진 검사브라우저는 실제로 불러온 오리진을 평가한다
쿠키와 리디렉션도메인, 경로, 보안 컨텍스트 동작이 제시된 URL과 맞아야 한다
새 URL을 만드는 스크립트요청이 단순한 링크 재작성 방식을 벗어날 수 있다
지속 연결이나 WebSockets프록시 애플리케이션에 명시적인 호환 처리가 필요하다

그래서 익숙한 결과가 나옵니다. 단순한 글은 열리는데 문서 편집기나 로그인 흐름은 실패합니다. 그 실패가 목적지가 서비스의 출구 IP를 거부한다는 뜻은 아닙니다. 중간자가 URL과 브라우저 보안에 대한 애플리케이션의 전제를 유지하지 못할 수 있습니다.

TLS가 어디서 끝나는지도 구분해야 합니다. 목적지 콘텐츠를 가져와 다시 게시하는 서비스는 암호화된 세션을 전달하는 일반 CONNECT 릴레이와 다른 신뢰 위치에 있습니다. 프록시 사이트 자체 주소에서 HTTPS가 보인다고 해서 브라우저에서 원래 사이트까지 종단 간 TLS 연결이 성립하는 것은 아닙니다.

목적이 다른 출구를 통한 평범한 브라우징이라면, 이용 중인 서비스나 프록시 목록에서 HTTP나 SOCKS 엔드포인트를 골라 지원되는 기본 프록시 설정을 쓰십시오. 예를 들어 Firefox의 연결 설정입니다. 이는 보통 브라우저의 정상적인 목적지 의미를 더 많이 보존합니다. URL 입력란 사이트는 일부러 고른 애플리케이션일 수 있지만, 설정이 적다는 이유로 같은 인터페이스라고 제시해서는 안 됩니다.

관련 글