2014-11-05 207 views
0

我已經用https建立了一個gem repo。我們擁有內部歌手證書,我擁有歌手/信任證書。使用Gem安裝SSL證書錯誤

但是,在安裝這些PEM文件,我不知道,所以想做一個創業板安裝

我們使用CHEF時,因此使用作爲廚師的客戶端安裝的一部分安裝紅寶石獲得SSL錯誤。

有通過網絡的唯一aswer人有一種變通方法,即從HTTPS更改爲HTTP,但我想創業板的回購協議是建立與HTTPS(端口443)搜索

下面是錯誤我得到

[[email protected] ~]# /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' 

UPDATE:

發現這個網上,這是我的默認PEM文件,更新這裏的證書,但錯誤依然不會

/opt/chef/embedded/bin/ruby -ropenssl -e 'puts OpenSSL::X509::DEFAULT_CERT_FILE' 
/opt/chef/embedded/ssl/cert.pem 

回答

2

簡單的解決方案可能是隻設置SSL_CERT_FILE環境變量的CA證書文件。這應該由Ruby的OpenSSL層自動獲取。

+0

謝謝,試過了,但沒有工作。還是一樣的錯誤 – Saurav 2014-11-05 22:22:01

0

我有同樣的問題,認爲這是公司代理,但我只需要更新rubygems。 你可能想從https://github.com/rubygems/rubygems/releases/

複製下載最新版本的紅寶石寶石夾 ,然後在CMD

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

希望幫助!