2014-09-26 52 views
12

我一直在使用Gitlab幾個月沒有問題。 但是,從昨天起,我無法從Eclipse IDE中「觸及」(取,推,...)Gitlab。Gitlab無法打開git-upload-pack錯誤

無論我是在我的公司工作(可能是代理問題)還是在家工作。

我收到以下錯誤信息:

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

看着我的Eclipse .log,原因是:

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 

在我的Eclipse/Git的配置並沒有幫助...

添加 http.sslVerify=false

任何想法,爲什麼這是(突然)發生?

+0

也許您的證書不完整,如https://github.com/gitlabhq/gitlab-shell/issues/21#issuecomment-15537477 – VonC 2014-09-27 08:34:13

+0

我正在使用https協議連接到gitlab。據我所知,不需要證書聲明。 它迄今爲止完美地工作。 而且我發現了另一個問題...... 當我登錄我gitlab.com空間,如果我去我的項目頁面,並嘗試下載一個ZIP,我得到了一個16Mb的文件的第一次。 但是現在,當我再次嘗試時,我只收到1Mb文件,無論我嘗試下載哪個分支。 這些連接和下載問題是否會導致gitlab.com Web服務器發生配置更改? 有沒有人遇到同樣的問題? – 2014-09-27 14:34:52

+0

是的,CA(證書頒發機構)參與https(SSL證書),如http://stackoverflow.com/a/4454754/6309中所示。但是由於'http.sslVerify = false'沒有幫助,這可能是另一個問題。 – VonC 2014-09-27 14:54:14

回答

5

我遇到了另一個Gitlab服務器的類似錯誤。我深入研究並發現服務器上所有可用的密碼至少爲256位。標準的Oracle Java隨附加密碼,對於某些算法,其限制爲128位。從Oracle安裝unlimited strength crypto package後,問題就消失了。

差不多忘了,無限強度套餐只在美國合法使用。如果你不在美國,那麼我認爲OpenJDK將會起作用。

+0

也許這是值得一提的是[該解決方案也適用於NetBeans IDE中(http://stackoverflow.com/a/26236936/2541501)。謝謝。 – PJvG 2014-10-07 13:20:55

+2

當我意識到我的一臺Jenkins服務器無法從GitLab服務器克隆存儲庫時,實際上遇到了錯誤。任何嘗試訪問GitLab的Java程序都可能遇到這個問題。 – jgibson 2014-10-09 05:23:31

+0

@jgibson是正確的;這影響了我的TeamCity服務器。 – jstark 2014-11-18 20:18:04

0

正如@jgibson解釋,這似乎涉及到加密算法

我沒有嘗試無限強度加密包,但在運行Eclipse的Java 8.0.25解決這個問題對我來說。

0

啊有這個問題簡單地這樣做:在Eclipse

,轉到Windows的> Prefrences->常規 - >網絡連接 - > SSH

  • 點擊TAB 「鍵管理」
  • 點擊生成RSA密鑰。
  • 單擊應用 - 複製並粘貼在框中一切 「SHA-RSA ......」 到gitlab->通過ssh再次

嘗試克隆profilie加SSH密鑰。

+0

'SSH'克隆和'https'克隆有什麼區別? – viper 2016-06-02 09:39:55

0

對我來說並沒有幫助以前的文章,但我能夠通過更改Java的安全選項來解決此問題。在系統設置下,您可以找到一個「Java控制面板」,其中「安全性」選項卡允許您更改安全級別。

取決於您使用的版本,您會看到不同的選項。它適用於我後,設置爲「低」。但在不同的系統上,您可能只有「高」/「非常高」選項。這取決於安裝的Java版本。

0

enter image description here

我得到了同樣的錯誤時,GitHub的下降,這是由於我們的網絡管理員的代理服務器設置,然後我又用另一個互聯網服務提供商github上工作正常

這解決了連接我的問題

EGit: cannot push, cannot pull

  1. 改變原點到我的叉子帳戶和拉動。
  2. 將原點改回實際值並拉出。
+0

也看看有些國家阻止github https://en.wikipedia.org/wiki/Censorship_of_GitHub – Mateen 2016-10-26 07:09:30