ALL_PROXY와 “Unknown scheme: http” 오류
같은 엔드포인트가 HTTP_PROXY에서는 통하는데 프로그램이 ALL_PROXY의 http:// 값을 거부할 수 있습니다. 지원하는 스킴을 정하는 것은 변수를 읽는 쪽입니다.
같은 엔드포인트가 curl에서는 동작하는데 proxy: unknown scheme: http 오류가 나오면 어이없어 보입니다. 엔드포인트 자체는 문제가 없을 수 있습니다. 다른 프로그램이 그 변수를 해석하고 있는 것입니다.
환경 변수 이름은 관례일 뿐 보편적인 네트워킹 API가 아닙니다. Go의 golang.org/x/net/proxy 패키지는 SOCKS 중심의 URL 처리를 합니다. 그 파서를 쓰는 소비자는 완전한 HTTP 클라이언트라면 다른 곳에서 지원하는 HTTP 스킴을 거부할 수 있습니다.
오류를 내는 구성 요소와 그것이 읽는 변수를 찾으세요. 그 버전과 문서화된 스킴을 확인하십시오. 반대편 서비스가 실제로 SOCKS5를 말하지 않는 한 http://를 socks5://로 바꾸지 마세요. 이 소비자가 SOCKS5를 요구하고 공용 경로가 허용된다면 SOCKS5 프록시 목록이 해당 프로토콜의 실제 엔드포인트를 제공합니다. 다른 클라이언트에 필요한 HTTP 경로는 따로 유지하세요.
오래된 Docker Toolbox 보고서는 특정한 역사적 구현에 관한 것이었습니다. 그것이 현대 Docker 설치를 다운그레이드할 이유는 아닙니다. 현재 Docker 데몬의 HTTP 프록시 설정에는 자체 문서화된 인터페이스가 있습니다.
원인이 무관한 상속된 ALL_PROXY 값이라면 의도한 프로세스 범위에서 그것을 제거하거나 덮어쓰십시오. 다른 클라이언트에 필요한 HTTP 프록시 설정은 유지하세요. 두 값을 함께 담은 하나의 환경은 개별 애플리케이션이 따로 실행될 때는 결코 드러내지 않을 차이를 보여 줄 수 있습니다.