Watch at Ease세상을 읽고, 일상의 답을 찾다.

문제 해결 · 실용 가이드

curl error 7 ‘Failed to connect’? 방화벽 변경 전 대상·경로·리스너를 증명하세요

오류 7은 연결 단계 실패를 뜻할 뿐 방화벽 판정은 아닙니다. 실제 홉과 실행 환경, 소켓 결과를 먼저 보존합니다.

실행 환경, 첫 홉, 경로, 리스너를 구분하는 원본 그림.
Watch at Ease 원본 일러스트: 변경 전 실패한 연결 홉을 찾습니다. Watch at Ease

curl 오류 7은 libcurl이 호스트나 프록시에 연결하지 못했다는 뜻이지만 방화벽이 원인임을 단독으로 증명하지는 않습니다.

원본 요청과 상세 연결 로그를 고정하고 실패한 환경에서 재현한 뒤 거부, 시간 초과, 경로 없음을 구분해 확인된 소유자만 변경합니다.

실제 연결 홉 고정

재시도 전에 인수, URL, 작업 디렉터리, 실행 주체, 전체 오류와 curl -v 연결 줄을 저장하고 호스트, 포트, 해석 주소, 프록시 선택을 기록합니다.

첫 비교에서 명령을 줄이거나 다시 입력하지 마세요. URL, 프록시 변수, 기본 포트가 바뀌면 다른 연결입니다.

실패한 실행 환경에서 재현

원본 컨테이너, 서비스 계정, 작업 러너 또는 애플리케이션 호스트에서 동일한 제한 테스트를 실행합니다.

프록시 환경, curl 설정, 주소군, 네트워크 네임스페이스를 기록합니다. Docker 사례는 같은 이름도 다른 주소로 연결될 수 있음을 보여 줍니다.

거부·시간 초과·경로 없음 분류

ECONNREFUSED, ETIMEDOUT, ENETUNREACH는 서로 다른 수리 분기입니다. 구체적인 연결 결과를 보존하세요.

같은 환경에서 대상과 알려진 정상 목적지를 하나씩 시험하고 단일 포트로 전체 방화벽 장애를 추정하지 않습니다.

대상과 리스너 확인

관리하는 서비스가 예상 포트, 인터페이스, 주소군에서 수신하는지 확인하고 공개된 엔드포인트와 실제 리스너를 비교합니다.

여러 주소가 있으면 curl의 시도 순서를 보존합니다. IPv4 성공이 IPv6 리스너 실패를 없애지는 않습니다.

프록시 첫 홉 분리

프록시 선택 시 첫 TCP 연결은 프록시입니다. 같은 환경에서 그 홉을 시험하고 성공한 뒤 대상 도달성을 평가합니다.

조직 전체 프록시를 삭제하지 말고 적용 변수, 설정 파일, 출발지 정책을 기록한 뒤 한 가지 가역 변경만 수행합니다.

원본 요청으로 종료 검증

같은 URL, 프록시 선택, 실행 환경에서 원본 명령을 반복하고 연결된 피어, 응답, 연결 시간, 종료 코드를 기록합니다.

소유가 불명확하거나 노출을 넓히거나 다른 팀 자산이면 중단하고 주소, 포트, 결과, 시각을 인계합니다.

연결 거부, 시간 초과, 경로 없음을 구분하는 원본 그림.
Watch at Ease 원본 일러스트: 연결 결과를 분류한 뒤 수리합니다. Watch at Ease