如何解决【curl:(60)SSL证书问题:证书链中的自签名证书】

Kaz*_*uki 6 git ssl curl github

我想在我的 Linux 计算机上安装 nvm。(我的Debian版本是10,Git版本是2.27。OPENSSL版本是1.1.1d 2019年9月10日)

我阅读了此文档https://github.com/nvm-sh/nvm#install--update-script 并输入了此脚本。

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.3/install.sh | bash
Run Code Online (Sandbox Code Playgroud)

这就是结果。

 % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
curl: (60) SSL certificate problem: self signed certificate in certificate chain
More details here: https://curl.haxx.se/docs/sslcerts.html

curl failed to verify the legitimacy of the server and therefore could not
establish a secure connection to it. To learn more about this situation and
how to fix it, please visit the web page mentioned above.
Run Code Online (Sandbox Code Playgroud)

我阅读了此文档https://curl.haxx.se/docs/sslcerts.html但我不明白该怎么做。于是上网查了一下,发现需要配置代理。

export http_proxy="http://webfilter.**********.com:8000/"
export https_proxy="http://webfilter.**********.com:8000/"
Run Code Online (Sandbox Code Playgroud)

我在终端中输入这些命令并再次尝试此脚本。

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.3/install.sh | bash
Run Code Online (Sandbox Code Playgroud)

然后我得到相同的结果。

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
curl: (60) SSL certificate problem: self signed certificate in certificate chain
More details here: https://curl.haxx.se/docs/sslcerts.html

curl failed to verify the legitimacy of the server and therefore could not
establish a secure connection to it. To learn more about this situation and
how to fix it, please visit the web page mentioned above.
Run Code Online (Sandbox Code Playgroud)

接下来,我将此命令放入我的终端中

curl -Is http://www.google.com | head -1 | grep 200
Run Code Online (Sandbox Code Playgroud)

我得到

HTTP/1.1 200 OK
Run Code Online (Sandbox Code Playgroud)

这意味着我不需要代理。

接下来,我尝试了这个解决方案。

github:服务器证书验证失败

sudo apt-get install --reinstall ca-certificates
sudo mkdir /usr/local/share/ca-certificates/cacert.org
sudo wget -P /usr/local/share/ca-certificates/cacert.org http://www.cacert.org/certs/root.crt http://www.cacert.org/certs/class3.crt
sudo update-ca-certificates
git config --global http.sslCAinfo /etc/ssl/certs/ca-certificates.crt
Run Code Online (Sandbox Code Playgroud)

我已完成所有这些命令并再次尝试,但收到相同的错误消息。

我该如何解决这个问题?

小智 2

你尝试过这种方法吗?

curl -k https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.3/install.sh
Run Code Online (Sandbox Code Playgroud)

为了清楚起见,请阅读 mancurl