簡體   English   中英

gitlab無法訪問:SSL證書已過期

[英]Unable to access gitlab: SSL certificate has expired

在 Visual Studio 中,我試圖從 GitLab 的存儲庫中提取一些更改,但它給了我一個錯誤:

Git 因致命錯誤而失敗。
無法訪問https://gitlab...git/ :SSL 證書問題:證書已過期*

如何生成新證書並將其添加到 VS? 我對 GitLab 沒有任何經驗。

您可以在命令行中運行一個快速修復:

git config --global http.sslVerify "false"

下面的文章中找到了解決方案。

Visual Studio 中的 Git 錯誤:

下午> git拉
git:致命:無法訪問'**path**/**myrepo**.git':SSL證書問題:證書已過期

在我的情況下的原因:
2021 年 9 月 30 日,根證書過期。
Let's Encrypt - “IdentTrust DST Root CA X3”證書
https://scotthelme.co.uk/lets-encrypt-old-root-expiration/

解決方案:
將適用於 Windows 的 Git 更新到最新版本:

  • 打開 Git CMD
  • 在命令行上,鍵入:
    git update-git-for-windows

或者,從以下位置安裝最新版本的 Git for Windows: https ://git-scm.com/download/win

這個解決方案對我認識的幾個人都有效。 但是,如果您仍然遇到問題,請參閱: Windows 版 Git:SSL 證書問題:證書已過期

此外,這里有一個與此主題相關的好帖子:
https://github.com/git-for-windows/git/issues/3450

Visual Studio 應該使用Git for Windows

如果您可以導出私有 GitLab 服務器的證書鏈,則可以將其添加到 git 文件夾中的ca-bundle.crt文件中,位於C:\path\to\Git\\usr\ssl\certs中。

2021 年 9 月更新:讓我們加密交叉簽名的 DST 根 CA X3 幾天前過期:請參閱此處了解更多信息


2022 年 3 月:正如Mohammed S. Al SahafTwitter 上指出的那樣,最受好評的答案( git config --global http.sslVerify "false" ) 很少,如果有的話,是一個好的選擇。

Git(技術上是 OpenSSL)很困惑,因為 Let's Encrypt 舊根已過期(請參閱:“讓我們加密的根證書即將過期! ”來自Scott Helme ,創立了@securityheaders/@reporturi,Pluralsight 作者)。

這不是禁用驗證的好借口!

在 Windows 上,只有 OpenSSL <= 1.0.2 或 Windows < XP SP3 的客戶端將只信任 IdenTrust DST Root CA X3 證書。

另請參見Tomáš Mráz ( t8m )中的“ Old Let's Encrypt Root Certificate Expiration and OpenSSL 1.0.2 ”。

對於與 Let's encrypt 集成的 GitLab 私有實例,Let's Encrypt 證書的到期可能很重要。

在任何情況下,都不要刪除http.sslVerify
將正確的證書添加到您的信任庫(在仔細檢查其有效性/來源之后)。

在客戶端更新 git 版本后,它工作正常。

第 1 步:檢查 git 的版本

    > git version
    

第 2 步:在客戶端系統上更新 git

    > git update
    
    > git version

我遇到了這個問題,我的解決方案是更新日期和時間。

這對我很有幫助。 打開終端:

git config http.sslVerify false

我被這個問題困擾了很長一段時間,后來意識到我已經設置了 wifi 代理。 快速代理設置檢查可能會有所幫助:)

不要使用git config --global http.sslVerify "false"

@VonC雖然從技術上講ssh與ssl證書無關,但使用ssh克隆存儲庫完全繞過了http協議,因此也解決了這個問題。 ——詹姆斯·賴特 2021 年 10 月 4 日 17:49

謝謝,這對我有用。

我最初通過https://gitlab.com/repo.git克隆了我的存儲庫,最終導致錯誤:致命:無法訪問 'https://gitlab.com/repo.git/':SSL 證書問題:證書有已到期

要修復,只需使用 SSH 再次克隆項目。

$ git clone git@gitlab.com:caring/repo.git

避免使用

$ git clone https://gitlab.com/repo.git

當我嘗試從 gitlab 查看最新更新時遇到問題,錯誤消息:SSL 證書問題:證書鏈中的自簽名證書。 這意味着您的 gitlb 證書已過期,您需要將最新的證書放入當前證書的末尾。

  1. 通過 Chrome 訪問 https://gitlab.......
  2. 查看網址前的鎖定圖標,單擊此圖標
  3. 查看證書,並檢查它是否有效(你需要這個)
  4. 單擊詳細信息,然后復制到文件
  5. 單擊下一步並選擇“Base-64 編碼”
  6. 將您的證書文件保存到某個文件(例如 file_1.cert)
  7. 使用 Notpad++ 打開,然后全部復制,粘貼到 Gitlab 使用的當前證書文件的末尾
  8. 再次查看Gitlab,現在應該可以了

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM