Nó luôn luôn là một ý tưởng tồi để vô hiệu hóa xác minh chứng chỉ (thiết http.sslVerify
để false
).
Tôi nghĩ vấn đề ở đây là, khi bạn cài đặt git, bạn chọn để sử dụng của Windows an toàn Kênh thư viện thay vì OpenSSL thư viện:
Như đã chỉ ra bởi @ CurtJ.Sampson (cảm ơn, Curt!), thay vào đó bạn có thể chuyển sang sử dụng thư viện OpenSSL, điều này sẽ khắc phục sự cố của bạn. Điều này có thể được thực hiện với lệnh sau:
git config --global http.sslBackend openssl
Ngoài ra, bạn có thể cài đặt lại git, xác định OpenSSL thư viện trong quá trình này.
Đừng quên bật xác minh SSL git trở lại với:
git config --global http.sslVerify true
Cập nhật: Nếu bạn đang sử dụng tự ký hoặc giấy chứng nhận doanh nghiệp tự git máy chủ của bạn, và bạn gặp lỗi khi cố gắng kết nối với nó (chẳng hạn như chứng chỉ tự ký trong chuỗi chứng chỉ hoặc vấn đề chứng chỉ SSL: không thể lấy chứng chỉ của tổ chức phát hành địa phương), sau đó giải pháp là để cho biết git nơi để tìm CA được sử dụng để ký chứng chỉ của trang web đó.Bạn có thể làm điều này với các lệnh cấu hình sau:
git config --global http.{your site's URL here}.sslcainfo "{path to your cert file}"
Ví dụ, nếu bạn có một máy chủ git địa phương tại https://my.gitserver.com/
và CA đã ký giấy chứng nhận của trang web là trong C:\Certs\MyCACert.crt
, sau đó bạn sẽ cần phải nhập :
git config --global http.https://my.gitserver.com/.sslcainfo "C:\Certs\MyCACert.crt"
Đây là một giải pháp mạnh mẽ hơn so với cách thêm chứng chỉ CA của bạn để git 's kèm ca-bundle.crt
tập tin, kể từ tập tin đó sẽ được ghi đè khi bạn cập nhật tiếp theo git.
Để làm việc với các khóa ssh, bạn cần phải thay đổi URL từ 'https: // github.com/JohnDoe/MyProject.git' thành' [email protected]: JohnDoe/MyProject.git'. – phd