Linuxbrewcurl证书问题

问题描述 投票:0回答:1

我在我的服务器上安装了 Linuxbrew。然而,当我尝试运行任何命令时,我遇到了curl 问题(brew 使用它来获取其更新)。 通常,当其他类似的工具出现此类问题时,它们会提供一个标志来使证书检查无效,并且

curl
本身使用
-k
标志为您提供了这种可能性。

但是在brew的文档中我没有找到这样一个可用的标志。因此,我的第二个猜测是在我家中放置的

insecure
文件中设置标志
.curlrc
,以将curl 不检查 SSL 证书设置为默认值。

下面是我运行 bew 时的输出示例:

-bash-4.1$ brew update
==> Installing dependencies for curl: patchelf, zlib, binutils, linux-headers, glibc, m4, gmp, mpfr, libmpc, [email protected], gcc, pkg-config and openssl
==> Installing curl dependency: patchelf
==> Downloading https://linuxbrew.bintray.com/bottles/patchelf-0.10.x86_64_linux.bottle.tar.gz

curl: (60) Peer certificate cannot be authenticated with known CA certificates
More details here: http://curl.haxx.se/docs/sslcerts.html

curl performs SSL certificate verification by default, using a "bundle"
 of Certificate Authority (CA) public keys (CA certs). If the default
 bundle file isn't adequate, you can specify an alternate file
 using the --cacert option.
If this HTTPS server uses a certificate signed by a CA represented in
 the bundle, the certificate verification probably failed due to a
 problem with the certificate (it might be expired, or the name might
 not match the domain name in the URL).
If you'd like to turn off curl's verification of the certificate, use
 the -k (or --insecure) option.
Error: Failed to download resource "patchelf"
Download failed: https://linuxbrew.bintray.com/bottles/patchelf-0.10.x86_64_linux.bottle.tar.gz
curl homebrew linuxbrew
1个回答
32
投票

为了让 Homebrew 接受

.curlrc
文件中指定的选项,需要设置一个标志。

根据文档

HOMEBREW_CURLRC
如果设置,则在调用curl(1)时不要传递--disable,这将禁用curlrc。

因此只需运行此脚本即可让自制程序忽略 SSL 证书验证:

echo insecure >> ~/.curlrc
export HOMEBREW_CURLRC=1
brew install …
© www.soinside.com 2019 - 2024. All rights reserved.