3proxy로 SOCKS 클라이언트를 HTTP CONNECT 부모에 브리지
HTTP CONNECT 부모를 뒤에 둔 SOCKS 측 게이트웨이와 각 구간의 프로토콜 및 인증 요구 사항을 설명합니다.
애플리케이션에는 SOCKS가 필요합니다. 승인된 업스트림 서비스는 HTTP CONNECT를 받습니다. HTTP 엔드포인트를 애플리케이션의 SOCKS 필드에 넣는다고 해서 두 프로토콜 사이가 변환되지는 않습니다.
게이트웨이는 애플리케이션에서 SOCKS를 받아 요청된 목적지를 읽고, 해당 목적지로 가는 CONNECT 터널을 HTTP 부모에 요청할 수 있습니다. 그런 다음 애플리케이션 스트림을 터널로 중계합니다.
SOCKS application → SOCKS-facing gateway → HTTP CONNECT parent → destination
각 인터페이스를 명시하라
이 구성이 필요한 게이트웨이에서는 부모 유형이 중요합니다. 3proxy 문서는 connect 부모와 일반 HTTP 전달 프록시로 쓰이는 부모를 구분합니다.
기존 3proxy 사용자와 인증 설정이 있다면 로컬 전용 라우팅 조각은 다음과 같습니다.
auth strong
allow alex
parent 1000 connect parent.example.net 8080
socks -i127.0.0.1 -p1080
이 조각은 계정이 이미 정의되어 있다고 전제합니다. HTTP 부모 자체가 요구하는 자격 증명을 추가하지 않으며 기존 접근 정책을 대체하지도 않습니다. 인증 없는 공용 HTTP 부모를 허용하는 경로의 공용 목적지에는 HTTP 프록시 목록이 호스트와 포트 후보를 제공합니다. 해당 분기에서는 부모 자격 증명을 비워 두고 실제 대상에 대한 허가를 확인하십시오. 게이트웨이 자체 계정은 로컬에 남습니다. parent 규칙은 3proxy의 문서화된 구성 모델에 따라 앞선 allow 규칙과 연결됩니다.
애플리케이션은 로컬 SOCKS 엔드포인트를 사용합니다. 게이트웨이는 부모를 향해 HTTP CONNECT를 사용합니다. 요청된 목적지 호스트와 포트가 허용되는지는 여전히 부모가 결정합니다.
여기서 유용한 범위는 일반 TCP 스트림 터널링입니다. 프런트 리스너가 SOCKS5를 받는다고 해서 SOCKS5 UDP 연계가 지원되는 것은 아닙니다. HTTP CONNECT 부모는 필요한 UDP 릴레이를 자동으로 제공하지 않습니다.
HTTPS는 이 경로 안에서 종단 간으로 유지될 수 있습니다. 프록시 인터페이스 간 변환에 목적지 웹사이트를 사칭할 필요는 없습니다. 게이트웨이 인증, 부모 인증, 웹사이트 인증은 서로 다른 자격 증명과 교환으로 남습니다.