2014-09-26 12 views
12

Używam Gitlab bez problemów już od kilku miesięcy. Ale od wczoraj nie mogę już "dosięgnąć" (pobrać, pchnąć, ...) Gitlab z mojego IDE Eclipse.Gitlab nie może otworzyć błędu git-upload-pack

Bez względu na to, czy pracuję w mojej firmie (mógł to być problem z proxy), czy w domu.

pojawia się następujący komunikat o błędzie:

https://gitlab.com/XXX/XXX.git: 
    cannot open git-upload-pack 
    cannot open git-upload-pack 

Patrząc na moje Eclipse .log, przyczyną jest:

Caused by: javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure 
    at sun.security.ssl.Alerts.getSSLException(Unknown Source) 
    at sun.security.ssl.Alerts.getSSLException(Unknown Source) 
    at sun.security.ssl.SSLSocketImpl.recvAlert(Unknown Source) 
    at sun.security.ssl.SSLSocketImpl.readRecord(Unknown Source) 
    at sun.security.ssl.SSLSocketImpl.performInitialHandshake(Unknown Source) 
    at sun.security.ssl.SSLSocketImpl.startHandshake(Unknown Source) 
    at sun.security.ssl.SSLSocketImpl.startHandshake(Unknown Source) 
    at sun.net.www.protocol.https.HttpsClient.afterConnect(Unknown Source) 
    at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(Unknown Source) 
    at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source) 
    at java.net.HttpURLConnection.getResponseCode(Unknown Source) 
    at sun.net.www.protocol.https.HttpsURLConnectionImpl.getResponseCode(Unknown Source) 
    at org.eclipse.jgit.transport.http.JDKHttpConnection.getResponseCode(JDKHttpConnection.java:98) 
    at org.eclipse.jgit.util.HttpSupport.response(HttpSupport.java:168) 
    at org.eclipse.jgit.transport.TransportHttp.connect(TransportHttp.java:460) 
    ... 10 more 

Dodawanie http.sslVerify=false w mojej konfiguracji Eclipse/Git nie pomóc ...

Każdy pomysł, dlaczego tak się dzieje (nagle)?

+0

Może twoi certyfikaty nie są kompletne, jak w https://github.com/gitlabhq/gitlab-shell/issues/21#issuecomment-15537477 – VonC

+0

używam protokołu https, aby połączyć się gitlab. O ile mi wiadomo, nie jest wymagana deklaracja certyfikatu. I do tej pory działało idealnie. Co więcej, znalazłem inny problem ... Kiedy jestem zalogowany w mojej przestrzeni gitlab.com, jeśli przejdę do strony projektu i spróbuję pobrać ją jako plik zip, otrzymałem plik 16 MB za pierwszym razem. Ale teraz, kiedy próbuję ponownie, otrzymuję tylko plik 1 Mb, niezależnie od gałęzi, którą próbuję pobrać. Czy te problemy z połączeniem i pobieraniem mogą wynikać ze zmiany konfiguracji serwera WWW gitlab.com? Czy ktoś ma ten sam problem? –

+0

Tak, CA (organ certyfikacji) są zaangażowani w https (certyfikat SSL), jak pokazano na http://stackoverflow.com/a/4454754/6309. Ale ponieważ 'http.sslVerify = false' nie pomaga, jest to prawdopodobnie inny problem. – VonC

Odpowiedz

5

Podobny błąd wystąpił na innym serwerze Gitlab. Wkopałem się w to i odkryłem, że wszystkie dostępne szyfry na serwerze miały co najmniej 256 bitów. Standardowa Java Java jest dostarczana z kryptografią, która jest ograniczona do 128 bitów w przypadku niektórych algorytmów. Po zainstalowaniu unlimited strength crypto package firmy Oracle problem zniknął.

Prawie zapomniałem, pakiet nieograniczonej siły jest legalnie dostępny tylko w USA. Jeśli jesteś poza Stanami Zjednoczonymi, to myślę, że OpenJDK będzie działać.

+0

Może warto wspomnieć, że [to rozwiązanie działa również dla IDB Netans] (http://stackoverflow.com/a/26236936/2541501). Dzięki. – PJvG

+2

Naprawdę napotkałem błąd, gdy zdałem sobie sprawę, że jeden z serwerów Jenkins nie mógł sklonować repozytoriów z serwera GitLab. Naprawdę ten problem mógł zostać napotkany przez dowolny program Java, który próbuje uzyskać dostęp do GitLab. – jgibson

+0

@jgibson jest poprawny; wpłynęło to na mój serwer TeamCity. – jstark

0

Jak wyjaśnił @jgibson wydaje się związane z kryptograficznych algorytmów

nie próbowałem nieograniczoną siłę pakiet szyfrujący ale działa Eclipse Java 8.0.25 rozwiązać ten problem dla mnie.

0

Ahh miał ten problem po prostu to zrobić:

w Eclipse, przejdź na Windows-> Prefrences-> General-> Sieć Connections-> SSH

  • Kliknij kartę "Zarządzanie kluczami"
  • Kliknij wygeneruj klucz RSA.
  • Kliknij Zastosuj -Kopia wszystko i wklej w polu "Sha-RSA ..." w gitlab-> profilie dodaj SSH klucza

próba klon ponownie poprzez ssh.

+0

Czym różni się klonowanie 'SSH' od klonowania' https'. – viper

0

Dla mnie nie pomogły poprzednie posty, ale udało mi się to naprawić, zmieniając opcje zabezpieczeń Java. W ustawieniach systemowych można znaleźć "Panel sterowania Java", w którym zakładka "Bezpieczeństwo" pozwala zmienić poziom bezpieczeństwa.

W zależności od używanej wersji widoczne są różne opcje. To zadziałało dla mnie, po ustawieniu tego na "niski". Ale w różnych systemach możesz mieć tylko "wysokie"/"bardzo wysokie" opcje. Zależy to od zainstalowanych wersji Java.

0

enter image description here

Mam ten sam błąd, gdy github był w dół, to ze względu na ustawienia proxy naszej sieci administrator, i następnie ponownie połączony z innym github dostawca internetu pracował grzywny

to rozwiązać mój problem

EGit: cannot push, cannot pull

  1. zmienił pochodzenie na moim rachunku widelcem i pociągnął.
  2. zmieniła początek do rzeczywistej wartości i została wyciągnięta.
+0

również w niektórych krajach blokują github https://en.wikipedia.org/wiki/Censorship_of_GitHub – Mateen

Powiązane problemy