2013-02-20 2 views
1

이것은 일반적인 질문/문제이지만 다른 것들보다 약간 다른 문제가 있습니다. 직장에서 http 프록시를 통해 git을 사용하려고합니다. 이미 자식 내 프록시 설정을 구성한 :HTTPS를 통해 HTTPS를 할 수 있지만 HTTP 프록시를 통해 복제 할 수 없음

C:\Program Files (x86)\Git\bin>git config --global -l 
http.proxy=https://c172635b4:[email protected]:8080 

내가 자식 LS-원격 https://[email protected]/myproj.git, 그것은 암호 나에게 요청하고 예상 된 결과를 제공 발행합니다. 이것은 git이 프록시를 통해 제대로 인증하고 있음을 확인합니다.

그러나 git 복제본을 만들려고하면 다음과 같은 오류가 발생합니다.

error: RPC failed; result=22, HTTP code = 0 
fatal: The remote end hung up unexpectedly 

나는 로그를 볼 수 GIT_CURL_VERBOSE = 1을 실행했습니다 내가 제대로 끝까지 NTLM 프록시에 인증을 볼 수 있어요 : 나는 실행하고

< HTTP/1.1 407 Proxy Authentication Required 
< Proxy-Authenticate: NTLM TlRMTVNTUAACAAAABgAGADgAAAA1goniA432smdf3mwAAAAAAAAAALAAsAA+AAAABgByFwAAAA9SAEUAUwACAAYAUgBFAFMAAQAYAFcAUwBQAEkAQwBCAEMAQQBBAEEAMAAxAAQAHAByAGUAcwAuAGIAbgBnAGYALgBsAG8AYwBhAGwAAwA2AFcAUwBQAEkAQwBCAEMAQQBBAEEAMAAxAC4AcgBlAHMALgBiAG4AZwBmAC4AbABvAGMAYQBsAAUAHAByAGUAcwAuAGIAbgBnAGYALgBsAG8AYwBhAGwABwAIAGq6JY+ND84BAAAAAA== 
< Cache-Control: no-cache 
< Pragma: no-cache 
< Content-Type: text/html; charset=utf-8 
< Proxy-Connection: Keep-Alive 
< Set-Cookie: BCSI-CS-dcfa3879f83cfd49=2; Path=/ 
< Connection: Keep-Alive 
< Content-Length: 3742 
< 
* Ignore 3742 bytes of response-body 
* NTLM send, close instead of sending 2531 bytes 
* Received HTTP code 407 from proxy after CONNECT 
* About to connect() to proxy p01.proxy.local port 8080 (#0) 
* Trying 172.31.132.18... * connected 
* Connected to p01.proxy.local (172.31.132.18) port 8080 (#0) 
* Establish HTTP proxy tunnel to git.assembla.com:443 
* Proxy auth using NTLM with user 'c172635b4' 
* Server auth using Basic with user 'eric' 
> CONNECT git.assembla.com:443 HTTP/1.1 
Host: git.assembla.com:443 
Proxy-Authorization: NTLM TlRMTVNTUAADAAAAGAAYAIIAAAAYABgAmgAAAAYABgBYAAAAEAAQAF4AAAAUABQAbgAAABAAEACyAAAANYKI4gYBsR0AAAAPN9Y0OSiIbF7a4dr8yIqv9WwAYgBnAGMANgAxADIANwAxAGIANAAyAFUAQQAxADMAOAAxAEQAUwA1ADKgzMJlkKLlAAAAAAAAAAAAAAAAAAAAAHVtirzD6urrzJLWZ73HGWxFUEd926He985LMc+KepdWBDDgQQBESv8= 
User-Agent: git/1.7.10.5997.gaa4aa 
Proxy-Connection: Keep-Alive 
Content-Type: application/x-git-upload-pack-request 
Accept: application/x-git-upload-pack-result 
Content-Encoding: gzip 

< HTTP/1.1 407 Proxy Authentication Required 
< Proxy-Authenticate: NTLM 
* Authentication problem. Ignoring this. 
< Cache-Control: no-cache 
< Pragma: no-cache 
< Content-Type: text/html; charset=utf-8 
< Proxy-Connection: close 
< Set-Cookie: BCSI-CS-dcfa3879f83cfd49=2; Path=/ 
< Connection: close 
< Content-Length: 3742 
< 
* Closing connection #0 
* HTTP response code said error 

을 :

git version 1.7.10.msysgit.1 

curl 7.21.1 (i686-pc-mingw32) libcurl/7.21.1 OpenSSL/0.9.8r zlib/1.2.3 
Protocols: dict file ftp ftps http https imap imaps ldap ldaps pop3 pop3s rtsp smtp smtps telnet tftp 
Features: Largefile NTLM SSL SSPI libz 

다른 게시글을 SO에 게시했습니다. 가능한 한이 질문에 중복되는 내용이 있지만 허용되는 해결 방법이나 제안 사항이 없습니다. 어느 쪽이든.

누구든지 문제를 디버그하는 방법 및/또는이 방법을 사용하는 방법에 대한 제안 사항이 있습니까?

답변

1

Curl 및/또는 git의 여러 버전을 사용해 본 끝에 마침내 로컬 프록시 서버를 설치하고 거기에 git tunnel을 설치했습니다. 나는 cntlm을 사용하여 끝났지 만, 효과가있을 수있는 몇 가지 다른 것들이 있습니다.

아직도 컬이 내 프록시 서버에 문제가있는 이유를 모르지만 중개자로 cntlm을 사용하면 문제가 없습니다.

관련 문제