【发布时间】:2023-04-11 09:33:02
【问题描述】:
我已经使用 https 设置了一个 gem 存储库。我们有内部签名证书,我有歌手/信任证书。
但是我不确定在哪里安装这些 pem 文件,因此在尝试进行 gem 安装时会出现 ssl 错误
我们正在使用 CHEF,因此使用作为 Chef 客户端安装的一部分安装的 ruby。
通过网络搜索,人们唯一知道的是一种解决方法,即从 https 更改为 http,但我希望 gem repo 设置为 HTTPS(端口 443)
以下是我得到的错误
[root@opslx0005 ~]# /opt/chef/embedded/bin/gem install lvm
ERROR: Could not find a valid gem 'lvm' (>= 0) in any repository
ERROR: While executing gem ... (Gem::RemoteFetcher::FetchError)
SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed (https://myself.mydomain.com/artifactory/simple/infra-automation/gem-repo/latest_specs.4.8.gz)
尝试使用 Ruby remote_fetcher 进行测试
/opt/chef/embedded/bin/ruby -rrubygems/remote_fetcher -e 'p Gem::RemoteFetcher.new.fetch_http(URI.parse("https://myself.mydomain.com/artifactory/simple/infra-automation/gem-repo/latest_specs.4.8.gz")).bytesize'
更新:
在网上找到这个,这是我的默认 pem 文件,在这里更新了证书,但错误仍然没有发生
/opt/chef/embedded/bin/ruby -ropenssl -e 'puts OpenSSL::X509::DEFAULT_CERT_FILE'
/opt/chef/embedded/ssl/cert.pem
【问题讨论】:
标签: ruby gem rubygems chef-infra