2013-05-07 11 views
6

"Komenda" git clone https://github.com/user/project.git "przekroczyła limit czasu podczas używania przez serwer proxy https.Limit czasu git został przekroczony, gdy jest używany przez serwer proxy https

Udało mi się, że git funkcjonował za proxy, i czytałem inne stackoverflow związane z używaniem git i proxy. Teraz skonfigurowałem go na hoście w mojej obecnej organizacji do korzystania z nieautoryzującego proxy, ale upłynął limit czasu.

  • pełnomocnikiem jest kałamarnica, bez uwierzytelniania
  • podłączając bezpośrednio poprzez TCP-443 nie jest opcją
  • Ustaliliśmy, że git jest kontaktowanie proxy
  • Git wystawia polecenie „CONNECT GitHub .com: 443 HTTP/1.1"
  • pełnomocnik umożliwia żądanie i łączy się na porcie 443 github.com
  • libcurl weryfikuje cert gitHub i nawiązuje połączenie SSL (SSL_RSA_WITH_RC4_128_SHA)
  • git przebiega tam siedzieć, czekając na coś, co nigdy nie zdarza
  • limitu czasu występuje

Czy ktoś doświadczył tego wcześniej? Masz jakieś wskazówki?

Oto wersja systemu:

$ cat /etc/redhat-release 
Red Hat Enterprise Linux Server release 6.4 (Santiago) 

Oto wersja git i aktualizuje informacje (najnowsze dostępne w RH)

$ git --version 
git version 1.7.11.3 

$ sudo yum check-update git  
Loaded plugins: downloadonly, rhnplugin, security 
This system is receiving updates from RHN Classic or RHN Satellite. 

Oto odnośne zmienne środowiskowe:

$ export | grep http 
declare -x http_proxy="http://proxy.hostname:3128/" 
declare -x https_proxy="http://proxy.hostname:3128/" 

tutaj mój .gitconfig (dla redundancji):

$ cat ~/.gitconfig 
[http] 
     proxy = http://proxy.hostname:3128/ 
[https] 
     proxy = http://proxy.hostname:3128/ 

Oto przykład git działa (i ostatecznie limit czasu):

$ GIT_CURL_VERBOSE=1 GIT_DEBUG_LOOKUP=1 GIT_TRANSLOOP_DEBUG=1 GIT_TRANSPORT_HELPER_DEBUG=1 git clone https://github.com/user/project.git 2>&1 
Cloning into 'project'... 
Debug: Remote helper: -> capabilities 
Debug: Remote helper: Waiting... 
Debug: Remote helper: <- fetch 
Debug: Got cap fetch 
Debug: Remote helper: Waiting... 
Debug: Remote helper: <- option 
Debug: Got cap option 
Debug: Remote helper: Waiting... 
Debug: Remote helper: <- push 
Debug: Got cap push 
Debug: Remote helper: Waiting... 
Debug: Remote helper: <- 
Debug: Capabilities complete. 
Debug: Remote helper: Waiting... 
* Couldn't find host github.com in the .netrc file; using defaults 
* About to connect() to proxy proxy.hostname 3128 (#0) 
* Trying 10.22.74.73... * Connected to proxy.hostname (x.x.x.x) port 3128 (#0) 
* Establish HTTP proxy tunnel to github.com:443 
> CONNECT github.com:443 HTTP/1.1 
Host: github.com:443 
User-Agent: git/1.7.11.3 
Proxy-Connection: Keep-Alive 
Pragma: no-cache 

< HTTP/1.0 200 Connection established 
< 
* Proxy replied OK to CONNECT request 
* Initializing NSS with certpath: sql:/etc/pki/nssdb 
* CAfile: /etc/pki/tls/certs/ca-bundle.crt 
    CApath: none 
* SSL connection using SSL_RSA_WITH_RC4_128_SHA 
* Server certificate: 
* subject: CN=github.com,O="GitHub, Inc.",L=San Francisco,ST=California,C=US,serialNumber=C3268102,incorporationState=California,incorporationCountry=US,businessCategory=Private Organization 
* start date: May 27 00:00:00 2011 GMT 
* expire date: Jul 29 12:00:00 2013 GMT 
* common name: github.com 
* issuer: CN=DigiCert High Assurance EV CA-1,OU=www.digicert.com,O=DigiCert Inc,C=US 
* Connected to proxy.hostname (x.x.x.x) port 3128 (#0) 

Oto kalmary dziennika:

1367957877.701 60148 x.x.x.x TCP_MISS/200 3765 CONNECT github.com:443 - DIRECT/204.232.175.90 - 

Więc, co tu się dzieje? Czy ktoś ma jakieś pomysły?

+0

czy możesz wkleić wyjście 'ssh -vT git @ github.com'? –

+0

Możesz również sprawdzić wspaniały wpis z @AmirHD tutaj: http://stackoverflow.com/a/21820716/1049572 – Neonigma

Odpowiedz

4

miałem dokładnie ten sam problem z git wersji 1.7.11.3 z RPMForge dodatkowym repozytorium pod CentOS

obniżamy do starszej wersji (testowałem z 1.7.3.4) rozwiązało problem.

Aby obniżyć można zrobić coś takiego

yum --showduplicates list git 

To pokaże wszystkie dostępne wersje pakietu git

Odinstaluj poprzednio zainstalowana wersja git:

yum remove git 

zainstalować starszą wersję:

yum install git-1.7.3.4 
+0

Dzięki, twoja strategia zadziałała dla mnie w RHEL6, ale usunąłem rpm i zainstalowałem nowszą wersję ze źródła. Postępowałem zgodnie z instrukcjami instalacji kodu źródłowego RHEL6: https://access.redhat.com/site/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Developer_Guide/collaboration.git.html – chrishiestand

+0

To działało również dla mnie. Ale oczywiście mam nadzieję, że jest lepsze rozwiązanie. Próbowałem aktualizacji certyfikatów SSL i wskazując git, aby z nich korzystać, nadal nie działa. – xcorat

+1

@xcorat Spróbuj kompilować ze źródła zgodnie z sugestią w powyższym komentarzu. – Bogdan

Powiązane problemy