通过 https 的 git 操作的 SSL 证书错误
IPFS
对remote git repository 存取,可以透过ssh 或https,有时候用https 的时候会遇到Error
原因
如果是透过https 来对remote repository 做操作,例如git clone https://git.domain.com/xxoo.git,有时候会有类似“SSL certificate problem: unable to get issuer certificate” 这样的讯息出现。主因是当透过https 时,git client 会去检查server 的ssl 凭证签署单位是不是在本机的清单当中。所以如果是用self-signed 的ssl 凭证,或者是签属单位没在清单中,就会有这个错误出现。
最懒惰的解决方式
$ git config --global http.sslverify false
但这个方式等于关闭所有的ssl 验证,并不是很安全。
正常的解决方式
因为公司里面用godaddy 的凭证,所以就以godaddy 的当作例子。
- Linux (用ubuntu 16.04 当例子)
$ wget https://certs.godaddy.com/repository/gdig2.crt.pem # from Godaddy Cert repository https://certs.godaddy.com/repository $ sudo mv gdig2.crt.pem /usr/local/share/ca-certificates/gdig2.crt $ sudo update-ca-certificates
- windows git bash console
# 先从Godaddy Cert repository https://certs.godaddy.com/repository 下载https://certs.godaddy.com/repository/gd_bundle-g2.crt $ git config --global http.sslCAInfo PATH_TO_DOWNLOAD_CRT_FILE" #要移除设定的话可以git config --global --unset http.sslCAInfo
Original link: Phanix's Blog
喜欢我的作品吗?别忘了给予支持与赞赏,让我知道在创作的路上有你陪伴,一起延续这份热忱!