2016-04-14 38 views
1

作爲食譜(新手)的一部分,我試圖寫,我用berks安裝從其他食譜的依賴關係,並最終當我運行berks install,我遇到證書驗證錯誤。任何一個可以幫助我知道可能會錯誤和我怎麼能解決這個issue.Thank你Berks安裝SSL_Connect認證驗證失敗(法拉第:SSLError)

廚師環境:

Chef Development Kit Version: 0.12.0 chef-client version: 12.8.1 berks version: 4.3.0 kitchen version: 1.6.0

berkshelf

berks -v 4.3.0

伯克斯安裝 - 錯誤

/opt/chefdk/embedded/lib/ruby/gems/2.1.0/gems/httpclient-2.7.1/lib/httpclient/ssl_socket.rb:46:in `connect': SSL_connect returned=1 errno=0 state=error: certificate verify failed (Faraday::SSLError) 
from /opt/chefdk/embedded/lib/ruby/gems/2.1.0/gems/httpclient-2.7.1/lib/httpclient/ssl_socket.rb:46:in `ssl_connect' 
from /opt/chefdk/embedded/lib/ruby/gems/2.1.0/gems/httpclient-2.7.1/lib/httpclient/ssl_socket.rb:24:in `create_socket' 
from /opt/chefdk/embedded/lib/ruby/gems/2.1.0/gems/httpclient-2.7.1/lib/httpclient/session.rb:739:in `block in connect' 
from /opt/chefdk/embedded/lib/ruby/2.1.0/timeout.rb:91:in `block in timeout' 
from /opt/chefdk/embedded/lib/ruby/2.1.0/timeout.rb:101:in `call' 
from /opt/chefdk/embedded/lib/ruby/2.1.0/timeout.rb:101:in `timeout' 
from /opt/chefdk/embedded/lib/ruby/gems/2.1.0/gems/httpclient-2.7.1/lib/httpclient/session.rb:735:in `connect' 
from /opt/chefdk/embedded/lib/ruby/gems/2.1.0/gems/httpclient-2.7.1/lib/httpclient/session.rb:497:in `query' 
from /opt/chefdk/embedded/lib/ruby/gems/2.1.0/gems/httpclient-2.7.1/lib/httpclient/session.rb:170:in `query' 
from /opt/chefdk/embedded/lib/ruby/gems/2.1.0/gems/httpclient-2.7.1/lib/httpclient.rb:1238:in `do_get_block' 
from /opt/chefdk/embedded/lib/ruby/gems/2.1.0/gems/httpclient-2.7.1/lib/httpclient.rb:1021:in `block in do_request' 
from /opt/chefdk/embedded/lib/ruby/gems/2.1.0/gems/httpclient-2.7. 
+2

[自定義CA證書使用Berkshelf]的可能的複製(http://stackoverflow.com/questions/36236213/use-berkshelf-與定製CA證書) – StephenKing

+0

[相關或重複](http://stackoverflow.com/questions/25604784/chef-berkshelf3-proxy-settings-windows-platform/25605415#25605415) – Tensibai

+0

@StephenKing我試圖設置我的環境變量添加到/ opt/chefdk/embedded/ssl/certs。當我跑'刀客戶端列表'我得到這個錯誤「警告:沒有刀配置文件發現 警告:無法讀取私鑰/etc/chef/client.pem:# 錯誤:您的私鑰無法從/etc/chef/client.pem加載「 – bablu

回答

5

chefdk是捆綁在一起的工具集合,儘管您不必使用它,但我不這樣做,您可以自己將它們捆綁在一起。

我假設您的chef存儲庫中有一個Gemfile。如果你不這樣做,那麼你可以通過執行bundle init來輕鬆創建一個。現在使用Gemfile來指定您想要使用的berkshelf的哪個version。一旦擁有它,執行bundle install。如果一切順利,bundle exec berks configure應該爲你工作。你可以配置它不使用SSL,或者只是放置~/.berkshelf/config.json具有以下內容:

{ 
    "ssl": { 
    "verify": false 
    } 
} 

希望這將解決您的問題。

+0

謝謝@MrRoth。關閉ssl驗證爲false解決了我通過berkshelf下載cookbook依賴關係的問題。 – bablu

0

在這裏,用伯克斯4.3.5,下面的工作:

{ 
    "ssl": { 
    "verify": false 
    }, 
    "ssl.verify": false 
} 
相關問題