열린 TCP 포트는 리스너가 연결을 받아들였음을 뜻합니다. 프록시, 일반 웹 서버 또는 다른 서비스일 수 있으며 8080 포트만으로 프로토콜을 알 수는 없습니다.

HTTP 프록시로 문서화된 엔드포인트라면 실제 주소를 시간 제한이 있는 HTTPS 요청에 사용하세요.

curl --proxy http://203.0.113.10:8080 --noproxy '' --connect-timeout 5 --max-time 15 --verbose https://example.com/

문서용 주소를 자신의 HTTP 엔드포인트 또는 HTTP 프록시 목록의 후보로 바꾸세요. SOCKS는 해당 SOCKS 클라이언트 모드를 쓰고 협상을 완료해야 합니다. 핸드셰이크가 잘못되면 TCP 연결 수락 직후 실패할 수 있습니다.

관찰한 단계확인되는 사실
TCP 연결 수락리스너에 도달할 수 있습니다.
프록시 핸드셰이크 수락리스너가 이번 프록시 동작을 받아들였습니다.
목적지 TLS 검증 완료클라이언트가 자신의 신뢰 설정에 따라 의도한 보안 연결을 완료했습니다.
예상 상태와 내용 수신애플리케이션 요청이 예상 결과를 얻었습니다.

HTTP 프록시를 통한 HTTPS는 목적지 포트로의 CONNECT가 허용돼야 합니다. CONNECT 200도 중간 단계입니다. TLS나 최종 요청이 성공하기 전에 터널이 닫힐 수 있습니다. 평문 HTTP 성공으로 이 터널 기능을 증명할 수는 없습니다.

내용을 예측할 수 있는 목적지를 쓰되 가능하면 직접 관리하는 곳을 선택하고, 요청 기록이 있으면 확인하세요. 평문 HTTP 리스너는 목적지에 전혀 접속하지 않고 고정 페이지를 상태 200으로 반환할 수 있습니다. 임의의 성공 상태를 받는 것은 예상 응답과 일치하는 것보다 약한 증거이며 HTTPS 신원 검증은 추가 보호를 제공합니다.

마지막으로 성공한 단계를 기록하세요. ‘포트 열림, SOCKS 협상 거부’는 다음 조사의 유용한 출발점이 됩니다.

관련 글