私は2か月間、問題なくGitlabを使用しています。しかし、昨日以来、EclipseからGitlabに "到達"(フェッチ、プッシュなど)できなくなりましたIDE.
私が自分の会社で働いている(代理の問題であった可能性があります)か自宅にいるかに関係なく。
次のエラーメッセージが表示されます。
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
を追加しても役に立たなかった...
なぜこれが(突然)起こっているのでしょうか。
別のGitlabサーバーで同様のエラーが発生しました。調べてみたところ、サーバー上で利用可能な暗号はすべて256ビット以上であることがわかりました。標準のOracle Javaには、一部のアルゴリズムでは128ビットに制限された暗号が付属しています。Oracleから 無制限強度の暗号パッケージ をインストールした後、問題は解消しました。
ほとんど忘れて、無制限の強度パッケージは合法的に米国でのみ利用可能です。米国外にいる場合は、代わりにOpenJDKが機能すると思います。
githubがダウンしているときにも同じエラーが発生しました。これは、ネットワーク管理者のプロキシ設定が原因でした。その後、別のインターネットプロバイダーに接続して、githubが正常に機能していました。
これは私の問題を解決しました
私にとっては以前の投稿は役に立ちませんでしたが、Javaのセキュリティオプションを変更することでこれを修正することができました。システム設定の下に「Javaコントロールパネル」があり、「セキュリティ」タブでセキュリティレベルを変更できます。
使用するバージョンに応じて、さまざまなオプションが表示されます。これを「低」に設定すると、うまくいきました。しかし、異なるシステムでは、「高」/「非常に高」のオプションしかない場合があります。インストールされているJava=バージョンによって異なります。
@jgibsonで説明されているように、これは暗号アルゴリズムに関連しているようです
私は無制限の強度の暗号化パッケージを試していませんが、Java 8.0.25でEclipseを実行すると問題が解決しました。
私も同様に問題を抱えていましたが(git-repositoryのクローン作成)、古いEclipse JUNO(32ビット)を使用しています。推奨される解決策(-Dhttps.protocols=TLSv1.1,TLSv1.2, ssalVerify=false
)は何も変更しませんでした。
最後に、ダイアログで"git:\\" as 'Protocol'を選択する必要があることを学びました"File-> Import ... Git、Projrects from git ... URL ... "
実際の(18.9)バージョンのEclipseを使用しているので、http-ULRをそのまま使用できます。
ああ、この問題は単にこれを実行しました:
eclipseで、Windows-> Prefrences-> General-> Network Connections-> SSHに移動します
sshを介してクローンを再試行してください。