2016-04-14 13 views
1

Как часть поваренной книги (новичок), я пытаюсь написать, я использовал berks для установки зависимостей из других кулинарных книг, и в конце концов, когда я запускаю berks install, я встречаюсь ошибки проверки сертификата. Может ли один помочь мне знать, что может быть не так, и как я мог бы решить эту issue.Thank выBerks install SSL_Connect Certification Verify failed (Faraday: 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

Berks install - Ошибка

/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

Возможный дубликат [Использовать Berkshelf с сертификатом пользовательского CA] (http://stackoverflow.com/questions/36236213/use-berkshelf- с-custom-ca-certificate) – StephenKing

+0

[Связанный или дублированный] (http://stackoverflow.com/questions/25604784/chef-berkshelf3-proxy-settings-windows-platform/25605415#25605415) – Tensibai

+0

@StephenKing Я пробовал настроить мои переменная среды в/opt/chefdk/embedded/ssl/certs. когда я запустил «список клиентов-ножей», я получал эту ошибку »ПРЕДУПРЕЖДЕНИЕ: Файл конфигурации ножа не найден WARN: Не удалось прочитать закрытый ключ /etc/chef/client.pem: # ОШИБКА: ваш личный ключ не может быть загружен из /etc/chef/client.pem « – bablu

ответ

5

chefdk - это набор инструментов, собранных вместе, хотя вам не нужно его использовать, я не знаю, и вы можете объединить их вместе.

Я предполагаю, что у вас есть Gemfile в вашем репозитории chef. если вы этого не сделаете, вы можете легко создать его, выполнив bundle init. теперь используйте Gemfile, чтобы указать, какой version из berkshelf вы хотели бы использовать. как только у вас есть это, выполните bundle install. если все идет гладко, bundle exec berks configure должен работать на вас. Вы можете настроить его, чтобы не использовать SSL, или просто разместить ~/.berkshelf/config.json со следующим содержанием:

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

надеюсь, что это позволит решить проблему.

+0

Спасибо @MrRoth. Превращение ssl-проверки в false устраняло мою проблему с загрузкой зависимостей поваренной книги через berkshelf. – bablu

0

Здесь, используя BERKS 4.3.5, следующие работали:

{ 
    "ssl": { 
    "verify": false 
    }, 
    "ssl.verify": false 
}