基本上,我在测试不同版本的OpenSSL,在这个过程中的某个地方破坏了wget的证书路径。
wget https://www.google.com 目前的结果如下:
ERROR: cannot verify www.google.com's certificate, issued by 'CN=Google Internet Authority G2,O=Google Inc,C=US':
Unable to locally verify the issuer's authority.
To connect to www.google.com insecurely, use `--no-check-certificate'.这让我认为wget不知道在哪里查找证书,因为ca-certificates已经安装,如果我设置了export SSL_CERT_DIR=/etc/ssl/certs,一切都会在重新启动之前正常工作。
我怎样才能永久解决这个问题?我想恢复到原始状态,在那里wget自动知道检查证书的位置。
我可能可以在引导时设置这个导出,但是它的正确位置是什么,它原来在哪里呢?
在另一台服务器上,我检查了环境中没有SSL_CERT_DIR变量,但是wget工作正常。wget如何知道在哪里查找证书?
发布于 2018-02-07 12:54:45
通常,发行版将在全局wgetrc文件中指定这一点。例如,Arch在/etc/wgetrc中有这样的功能:
ca_certificate=/etc/ssl/certs/ca-certificates.crt
因此,只需找到证书所在的位置,并将其传递给wgetrc。
发布于 2018-02-07 13:03:46
它是在./configure时由--openssldir选项设置的。wget将在该目录中查找证书。
您可以在这里找到更多信息:https://unix.stackexchange.com/a/200058/39382
发布于 2019-12-23 17:00:24
在macOS上,您可以用以下方式将wget指向cert.pem文件:
wget --ca-certificate=/etc/ssl/cert.pem或者在你的.wgetrc中:
ca-certificate = /etc/ssl/cert.pem这在macOS 10.14上是有效的;在同一个地方使用文件的其他版本表面上应该可以工作。
https://serverfault.com/questions/896082
复制相似问题