CURLOPT_CONNECT_TO 는 일치하는 목적지에 대해 libcurl이 연결하는 호스트와 포트를 바꿉니다. 대체 엔드포인트가 HTTP CONNECT나 SOCKS를 말하게 만들지는 않습니다.

원래 호스트 이름은 여전히 애플리케이션 프로토콜과 TLS의 정체성을 제공합니다. 같은 서비스의 다른 서버 인스턴스에 의도적으로 도달할 때 유용합니다. 반면 임의의 프록시 수신기는 애플리케이션의 원시 바이트가 아니라 자신의 프록시 핸드셰이크를 기대합니다.

매핑을 HTTP 프록시와 결합하기

HTTP 프록시를 별도로 구성하세요. 공개 서비스로 향하는 자격 증명 없는 HTTP 경로는 그 중개자가 허용될 때 HTTP 프록시 목록의 엔드포인트를 사용할 수 있습니다. 기존 프록시 계정을 후보에게 보내서는 안 됩니다. libcurl은 서로 다른 connect-to 매핑이 그러면 요청을 터널 모드로 전환할 수 있다고 문서화합니다. 프록시가 매핑된 목적지 연결을 엽니다. 매핑은 프록시를 통해 무엇에 도달하는지를 선택하며, 프록시 구성을 대체한 것은 아닙니다.

세 값을 구분해 두세요. 의도한 서비스 이름, 대체 연결 엔드포인트, 프록시 엔드포인트입니다. 각 옵션을 실제 역할에 맞게 선택하고 서비스에는 평소의 TLS 이름 검증을 유지하세요.

프록시 포트 자체가 연결을 거부한다면, 같은 부재하는 수신기를 가리키는 다른 옵션으로는 첫 구간을 고칠 수 없습니다. 목적지 매핑을 바꾸기 전에 그 수신기나 경로의 실패를 해결하세요.

관련 글