오류 메시지

Mac에서 “curl: (6) Could not resolve host”

curl 종료 코드 6은 curl이 호스트 이름의 주소를 가져오지 못했다는 뜻입니다. curl 문서에는 “지정된 원격 호스트를 확인하지 못했습니다.”라고 나옵니다.

적용 대상: 현재 지원되는 모든 macOS 버전에서 macOS에 포함된 curl과 Homebrew curl.확인일: 2026년 10월 29일

증상

  • 터미널에 curl: (6) Could not resolve host: example.com이 표시됩니다.
  • curl을 사용하는 스크립트와 설치 프로그램이 종료 코드 6과 함께 중지됩니다.
  • 같은 주소가 브라우저에서 열리거나 거기서도 실패합니다.

가능한 원인

  • 입력 오류 또는 빈 호스트. 스크립트의 변수가 비어 있으면 curl에 잘못된 이름이 전달될 수 있습니다.
  • 연결 또는 DNS 없음. Mac이 DNS 서버에 연결할 수 없습니다.
  • 자체 DNS를 사용하는 VPN. 회사 내부 도메인 이름은 VPN이 켜져 있을 때만 확인됩니다.
  • curl이 사용하지 않는 프록시. 프록시만 허용하는 네트워크에서는 curl에 프록시 설정이 필요합니다. 그러면 프록시가 이름을 확인합니다.

확인 방법

  1. 정확한 명령을 출력합니다. 호스트 이름이 올바른지 확인하세요.

  2. macOS 리졸버를 통해 이름을 조회합니다.

    dscacheutil -q host -a name example.com
  3. 공개 이름은 공개 DNS 서버와 비교하세요. 사설 이름은 공개 서버로 보내지 마세요.

    dig +short example.com @1.1.1.1
  4. curl이 읽는 프록시 변수를 표시합니다.

    env | grep -i proxy
  5. 자세한 정보를 표시하며 curl을 실행합니다. 첫 줄에 조회 결과가 표시됩니다.

    curl -v https://example.com

해결 방법

  1. macOS 조회도 실패하면 DNS를 수정하세요. Mac에서 DNS가 확인되지 않는 경우를 참고하세요.

  2. 네트워크에 프록시가 필요하면 curl에 설정하세요.

    export https_proxy=http://proxy.example.com:8080
  3. 회사 이름의 경우 먼저 VPN을 연결하세요.

  4. DNS 캐시를 비운 다음 다시 시도하세요. Mac에서 DNS 캐시 비우기를 참고하세요.

Kilobat 사용

  1. Kilobat의 연결 진단은 네트워크, 프록시, DNS, 규칙, IPv4, IPv6, TLS 및 서버 순으로 이름을 계층별로 테스트합니다. 실패한 계층을 알려줍니다.

    kilobat why example.com
  2. 실행 중인 프로세스의 프록시 변수를 사용하려면 이름과 함께 --app을 추가하세요.

    kilobat why https://example.com --app process:curl
  3. 이 Kilobat 검사는 무료입니다. AI 에이전트는 MCP를 통해 diagnose_connection 및 diagnose_network(으)로 실행합니다. 특정 사이트나 API에 연결되지 않는 이유 찾기를 참조하세요.

질문

브라우저는 작동하지만 curl은 작동하지 않는 이유는 무엇인가요?

브라우저는 시스템 프록시나 자체 DNS를 사용할 수 있습니다. curl은 https_proxy 같은 프록시 변수를 읽습니다. Mac에서 프록시 설정으로 앱이 연결되지 않는 문제를 참고하세요.

curl 오류 6은 서버가 연결을 거부했다는 뜻인가요?

아니요. 호스트 이름이 해석되지 않아 해당 호스트에 연결을 시작할 수 없었습니다.

출처

  • curl: libcurl 오류 코드
  • curl(1), 종료 코드, macOS 27.2와 함께 설치된 매뉴얼 페이지
  • dscacheutil(1) 및 dig(1), macOS 27.2와 함께 설치된 매뉴얼 페이지

2026년 10월 29일 확인했습니다.