GIT 오류 : 치명적 : 소켓을 연결할 수 없습니다 (잘못된 인수)
문제
나는 Msysgit (git on windows)가 내 홈 머신에서 잘 작동했지만 직장에서 우리는 Microsoft ISA 프록시 뒤에있는 곳에서 git 클론을 할 때 다음과 같은 오류를 얻습니다.
H:\>git clone git://github.com/akitaonrails/vimfiles.git
Initialized empty Git repository in H:/vimfiles/.git/
github.com[0: 65.74.177.129]: errno=Invalid argument
fatal: unable to connect a socket (Invalid argument)
http_proxy 환경 변수를 다음으로 설정하려고 시도했습니다.
http://our-proxy-server:8088
git http.proxy configuration directive를 설정했습니다.
git config --global http.proxy http://our-proxy-server:8088
위의 어느 것도 차이가 없습니다.
git 클론을하고 있습니다 http://
대신에 git://
이것을 생성합니다 :
H:\>git clone http://github.com/akitaonrails/vimfiles.git
Initialized empty Git repository in H:/vimfiles/.git/
fatal: http://github.com/akitaonrails/vimfiles.git/info/refs download error - The requested URL returned error: 407
407은 물론 인증 오류입니다.
제 질문은 다음과 같습니다. 누군가가 대리 뒤에서, 특히 ISA 프록시 뒤에서 git을 일하게 했습니까? 나는 그것이 이것을 추구 할 가치가 있는지 모르겠다. 모든 도움이 대단히 감사합니다.
감사!
해결책
나는 똑같은 오류가 있었다. 하지만 ~/.gitconfig
글로벌 구성 파일 열쇠였습니다.
인증이있는 프록시가있는 경우 입력해야합니다.
git config --global http.proxy http://login:password@our-proxy-server:8088
그리고 그것은 단지 작동합니다 (git clone http:
')
동일한 설정을 자세히 설명하는 블로그의 예 : HTTP에 대한 git 클론 : 누가 알았습니까?
407 년에 여전히 실패하면 문제와 관련이있을 수 있습니다. 두 번째 HTTP Get에서 Git-fetch를 잃어버린 인증 토큰. ㅏ Libcurl의 최근 버전 필요할 수 있습니다.
2011 년 1 월 업데이트 : Jbustamovej 언급 그의 대답 (upvoted) 그의 블로그 게시물 "기업 프록시 뒤에있는 Github", 이것은 이것을 추가합니다.
그것을 주목하는 것이 중요합니다 로그인에 백 슬래시가있는 경우,에서와 마찬가지로
domain\login
, 백 슬래시를 피해야합니다,에서와 같이 :
git config --global http.proxy http://domain\\\login:password@our-proxy-server:8088
다른 팁
프록시를 구성한 후에도 프록시가 GIT 프로토콜 트래픽을 허용하지 않으므로 연결할 수 없습니다. 이 경우 "git"대신 "http"를 사용해 볼 수 있습니다.
H :> git 클론 http://github.com/akitaonrails/vimfiles.git
또한 자동화 된 프록시 구성 파일 (.pac)을 사용하는 경우 텍스트 편집기에서 열 수 있습니다. 스크립팅 언어를 따르는 것은 매우 쉽습니다. 범용 트래픽 (일반적으로 마지막 구성 프록시)을 허용하는 것을 찾아 위의 주석에 언급 된대로 구성하십시오.
양말 프록시가 있습니까? 당신이 있다면, 당신은 시도해 볼 것입니다 프라이 캡 git 연결을 양말화합니다. 나는이 방법으로 한동안 git을 사용해 왔습니다.
그렇지 않다면 여전히 프라이 캡을 사용해보십시오. IIRC는 HTTP 프록시를 사용할 수 있지만 시도하지 않았습니다.
편집 : 나는 평소 양말화를한다 cmd.exe 프라이 캡을 사용하고 그때부터 그 세션에서 시작한 모든 CMDline 프로그램도 양말화됩니다. 그렇기 때문에 Sockscap (또 다른 대안)이 그런 식으로 작동하지 않기 때문에 Cone Cap을 추천했습니다.
http.proxy를 사용하는 것에 관해서는, 어떤 이유로 든 Mingw 버전과 회사 HTTP 프록시에서 나에게 효과가 없었습니다.
나는 매우 복잡한 경로를 통해 작동하게했습니다. 방법은 다음과 같습니다.
- 내 홈 머신에서 OpenSsh가 실행 중입니다 (Vista Box) Cygwin에서 실행됩니다
- Bitvise Tunnelier를 사용하고 있습니다 통합 된 양말/HTTP Connect 프록시를 통한 동적 터널링.
- 그런 다음 사용합니다 프라이 캡 (감사합니다) Git-Gui "Sockify". 불행히도, 각 .exe를 개별적으로 설정하고 프라이 캡 내에서 실행해야하므로 모든 git 명령 줄 도구를 단일화 할 수는 없습니다. Freecap 내에서 명시 적 명령 줄 명령을 설정할 수 있지만 각각 개별적으로 설정 해야하는 목적을 무효화해야합니다. 이것이 내가이 미친 정교한 시스템에서 Git-Gui를 설정하는 이유입니다.
놀랍게도, 나는 아직 모든 것을 테스트하지는 않았지만 효과가있는 것 같습니다. 확실히 출발 할 것입니다.
누군가가 더 나은 해결책을 가지고 있다면 나는 모두 귀입니다.
파이썬 2.7 및 ntlmaps Github에서 407 개의 오류 및 기타 쓰레기를 얻은 후 저를 위해 일했습니다.
.gitConfig :
[http]
proxy = http://127.0.0.1:5865
다음은 저에게 효과가 있습니다.
git config --global http.proxy http://login:password@PROXY_SERVER:PORT
git config --global http.sslVerify false
Windows7 에서이 문제가있었습니다.
$ git clone git://github.com/facebook/php-sdk.git
Initialized empty Git repository in c:/Users/Jay/temp/php-sdk/.git/
github.com[0: 207.97.227.239]: errno=No error
fatal: unable to connect a socket (No error)
마지막으로 AVG Anti Virus 소프트웨어가 실행되고 있음을 깨달았습니다. 나는 AVG 내에서 "거주 방패"를 비활성화했으며 지금 매력처럼 작동합니다.
$ git clone git://github.com/facebook/php-sdk.git
Initialized empty Git repository in c:/Users/Jay/temp2/php-sdk/.git/
remote: Counting objects: 223, done.
remote: Compressing objects: 100% (179/179), done.
emote: Total 223 (delta 84), reused 0 (delta 0)
Receiving objects: 100% (223/223), 37.32 KiB, done.
Resolving deltas: 100% (84/84), done.