6

我已经安装了 chef 客户端12.0.3,在它之上我已经安装了 chef-dk 版本0.3.5但是为什么 chef-dk 正在安装 chef 客户端版本Chef: 11.18.0.rc.1

  1. 无法将食谱上传到厨师服务器
  2. berks 货架列表正在运行,但 berks 上传失败

错误:

E, [2015-01-08T04:58:36.707534 #22533] ERROR -- : Ridley::Errors::ClientError: SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed
E, [2015-01-08T04:58:36.708931 #22533] ERROR -- : /opt/chefdk/embedded/lib/ruby/gems/2.1.0/gems/celluloid-0.16.0/lib/celluloid/responses.rb:29:in `value'
/opt/chefdk/embedded/lib/ruby/gems/2.1.0/gems/celluloid-0.16.0/lib/celluloid/calls.rb:92:in `value'
/opt/chefdk/embedded/lib/ruby/gems/2.1.0/gems/celluloid-0.16.0/lib/celluloid/proxies/sync_proxy.rb:33:in `method_missing'
/opt/chefdk/embedded/lib/ruby/gems/2.1.0/gems/celluloid-0.16.0/lib/celluloid/proxies/cell_proxy.rb:17:in `_send_

    There was an error connecting to the Chef Server
4

4 回答 4

3

它未能通过 SSL 验证过程。按照这些说明将其固定为刀。对于 berkshelf,您可以禁用 SSL 验证,config.json也可以设置$SSL_CERT_FILE为下载的服务器证书。

于 2015-01-08T05:24:19.523 回答
2

这是一个与伯克斯相关的问题。
您可以在 berks 配置文件中取消 ssl 验证选项:

echo '{"ssl": { "verify": false }}' > ~/.berkshelf/config.json
于 2017-01-01T16:15:14.533 回答
1

因为我是修复错误而不是修复症状的忠实粉丝,所以您可以做些什么来确保 SSL 连接与验证一起工作(比 coderanger 更详细一点):

1)获取服务器证书并将其添加到chef-dk的cacert.pem文件中

openssl s_client -showcerts -connect <YOUR_CHEF_SERVER>:443 </dev/null 2>/dev/null|openssl x509 -outform PEM >> /opt/chefdk/embedded/ssl/certs/cacert.pem

2) 为 ssl 库设置环境变量:

export SSL_CERT_FILE=/opt/chefdk/embedded/ssl/certs/cacert.pem

重试您的上传,它应该可以工作。

于 2015-01-08T11:02:58.980 回答
0

您还可以在命令行上禁用 ssl 检查:

berks upload --no-ssl-verify
于 2017-04-19T11:44:31.587 回答