Ruby 安装Gem时出现SSL证书错误
我已经用https建立了gem回购协议。我们有内部签名证书,我有歌手/信托证书 但是我不确定在哪里安装这些pem文件,因此在尝试进行gem安装时会出现ssl错误 我们使用的是CHEF,因此使用作为CHEF客户端安装的一部分安装的ruby 通过网络搜索,aswer人唯一的解决办法是从https改为http,但我希望gem repo设置为https(端口443) 下面是我得到的错误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
[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
希望有帮助 谢谢,我试过了,但没用。还是一样的错误谢谢你试过了,但没用。还是一样的错误谢谢你试过了,但没用。还是一样的错误谢谢你试过了,但没用。还是一样的错误吗