Ruby 安装Gem时出现SSL证书错误

Ruby 安装Gem时出现SSL证书错误,ruby,gem,rubygems,chef-infra,Ruby,Gem,Rubygems,Chef Infra,我已经用https建立了gem回购协议。我们有内部签名证书,我有歌手/信托证书 但是我不确定在哪里安装这些pem文件,因此在尝试进行gem安装时会出现ssl错误 我们使用的是CHEF,因此使用作为CHEF客户端安装的一部分安装的ruby 通过网络搜索,aswer人唯一的解决办法是从https改为http,但我希望gem repo设置为https(端口443) 下面是我得到的错误 [root@opslx0005 ~]# /opt/chef/embedded/bin/gem install lvm

我已经用https建立了gem回购协议。我们有内部签名证书,我有歌手/信托证书

但是我不确定在哪里安装这些pem文件,因此在尝试进行gem安装时会出现ssl错误

我们使用的是CHEF,因此使用作为CHEF客户端安装的一部分安装的ruby

通过网络搜索,aswer人唯一的解决办法是从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远程抓取器进行测试

/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

最简单的解决方案可能是将
SSL\u CERT\u FILE
环境变量设置为CA证书文件。这应该由Ruby的OpenSSL层自动获取。

最简单的解决方案可能是将
SSL\u CERT\u FILE
环境变量设置为CA证书文件。这应该由Ruby的OpenSSL层自动获取。

最简单的解决方案可能是将
SSL\u CERT\u FILE
环境变量设置为CA证书文件。这应该由Ruby的OpenSSL层自动获取。

最简单的解决方案可能是将
SSL\u CERT\u FILE
环境变量设置为CA证书文件。这应该由Ruby的OpenSSL层自动获取。

从这里:

尝试下载证书。然后,将一个特殊的环境变量指向它,如下所示:
export SSL\u CERT\u FILE=~/cacert.pem
之后,发出一个更新命令:
gem update--system
之后问题应该得到解决。重新启动控制台并继续工作。

从这里开始:

尝试下载证书。然后,将一个特殊的环境变量指向它,如下所示:
export SSL\u CERT\u FILE=~/cacert.pem
之后,发出一个更新命令:
gem update--system
之后问题应该得到解决。重新启动控制台并继续工作。

从这里开始:

尝试下载证书。然后,将一个特殊的环境变量指向它,如下所示:
export SSL\u CERT\u FILE=~/cacert.pem
之后,发出一个更新命令:
gem update--system
之后问题应该得到解决。重新启动控制台并继续工作。

从这里开始:


尝试下载证书。然后,将一个特殊的环境变量指向它,如下所示:
export SSL\u CERT\u FILE=~/cacert.pem
之后,发出一个更新命令:
gem update--system
之后问题应该得到解决。重新启动控制台并继续您的工作。

我也遇到了同样的问题,以为是公司代理,但我只需要更新rubygems。 您可能需要从下载最新版本

将其复制到ruby gems文件夹 然后在cmd上

C:\>gem install --local C:\rubygems-update-1.8.30.gem
C:\>update_rubygems --no-ri --no-rdoc

希望有帮助

我也有同样的问题,以为是公司代理,但我只需要更新rubygems。 您可能需要从下载最新版本

将其复制到ruby gems文件夹 然后在cmd上

C:\>gem install --local C:\rubygems-update-1.8.30.gem
C:\>update_rubygems --no-ri --no-rdoc

希望有帮助

我也有同样的问题,以为是公司代理,但我只需要更新rubygems。 您可能需要从下载最新版本

将其复制到ruby gems文件夹 然后在cmd上

C:\>gem install --local C:\rubygems-update-1.8.30.gem
C:\>update_rubygems --no-ri --no-rdoc

希望有帮助

我也有同样的问题,以为是公司代理,但我只需要更新rubygems。 您可能需要从下载最新版本

将其复制到ruby gems文件夹 然后在cmd上

C:\>gem install --local C:\rubygems-update-1.8.30.gem
C:\>update_rubygems --no-ri --no-rdoc

希望有帮助

谢谢,我试过了,但没用。还是一样的错误谢谢你试过了,但没用。还是一样的错误谢谢你试过了,但没用。还是一样的错误谢谢你试过了,但没用。还是一样的错误吗