我得到以下错误使用卷曲:
curl: (77) error setting certificate verify locations: CAfile: /etc/ssl/certs/ca-certificates.crt CApath: none
如何设置证书验证位置?
我得到以下错误使用卷曲:
curl: (77) error setting certificate verify locations: CAfile: /etc/ssl/certs/ca-certificates.crt CApath: none
如何设置证书验证位置?
当前回答
@roens是正确的。这将影响所有Anaconda用户,错误如下 Curl:(77)错误设置证书验证位置: CAfile: /etc/pki/tls/certs/ca-bundle.crt CApath:没有
解决方法是使用默认的系统curl并避免混淆预先设置的Anaconda PATH变量。你可以
重命名Anaconda curl二进制:) Mv /path/to/anaconda/bin/curl /path/to/anaconda/bin/curl_anaconda . Mv /path/to/anaconda/bin/curl_anaconda . Mv 或去除蟒蛇卷曲 Conda去除卷曲
$ which curl /usr/bin/curl
[0] Anaconda Ubuntu curl Github issue https://github.com/conda/conda-recipes/issues/352
其他回答
我使用MobaXterm,实习生使用Cygwin,所以即使在安装ca-certificates后使用apt-cyg安装ca-certificates问题也没有解决。
我仍然得到以下错误:
curl:(77)错误设置证书验证位置:CAfile: /etc/ssl/certs/ca-certificates. confcrt CApath: none
然后我试着列出文件/etc/ssl/certs/ca-certificates。crt和我都找不到。但是我可以找到/usr/ssl/certs/ca-bundle.因此,我复制了文件/usr/ssl/certs/ca-bundle. crtCRT为/etc/ssl/certs/ca-certificates。CRT和问题得到了解决。
如果有人仍然有问题,试试这个,它对我很有效。 删除/etc/ssl/certs/目录下的文件 然后重新安装ca-certificates:
sudo apt install ca-certificates --reinstall
当我尝试安装Linuxbrew时,我这样做了。
此错误与缺少一个包有关:ca-certificates。安装它。
在Ubuntu Linux(以及类似的发行版)中:
# apt-get install ca-certificates
通过Apt-Cyg在CygWin中
# apt-cyg install ca-certificates
在Arch Linux下(树莓派)
# pacman -S ca-certificates
文档告诉我们:
该包包含CA证书的PEM文件,允许基于SSL的应用程序检查SSL连接的真实性。
在Debian——压缩包ca-certificates的详细信息
我在Ubuntu 20.04 localhost上试图访问运行在docker容器中的elasticsearch时遇到了这个curl 77问题。集装箱启动后:
Check curl without ssl: curl --cacert http_ca.crt -u elastic https://localhost:9200 -k lowercase -k for insecure connection. Check curl configs: curl-config --configure, noticed what is ca-bundle: --with-ca-bundle=/etc/ssl/certs/ca-certificates.crt. Copy http_ca.crt file from container to:/usr/local/share/ca-certificates/, original command is here. Run update on ca-certificates: sudo update-ca-certificates. Run curl: curl -u elastic:<password> https://localhost:9201. Finally got response with "tagline" : "You Know, for Search".
将<password>修改为运行Docker Image时生成的密码。 还要注意,在我的机器上,弹性是在端口9201上启动的(不知道为什么:sudo ss -tlpn | grep 9200给我什么都没有),我已经找到了端口:sudo netstat -ntlp和程序名称是docker-proxy。
似乎您的卷曲指向一个不存在的文件与CA证书或类似。
有关CA certs与curl的主要参考,请参见:https://curl.haxx.se/docs/sslcerts.html