Chef SSL 验证失败

Chef ssl validation failure

我有一个厨师服务器版本 12.0.1 并且可以将 linux (rhel/centos) 系统连接到带有 knife bootstrap 的厨师服务器,但不能连接 windows 并且本地在我的 rhel 客户端 knife ssl 检查失败。

我有两个问题,但我认为它们是相关的。

问题 1 - knife ssl 检查失败:

Connecting to host chef-server:443
ERROR: The SSL certificate of chef-server could not be verified

问题 2 - bootstrap windows 服务器失败:

ERROR: SSL Validation failure connecting to host: chef-server - SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed
Chef encountered an error attempting to create the client "desktop"

我试过很多东西: 1) knife ssl fetch - 没有变化 2) 我在服务器上有一个签名的 digicert crt,它被管理控制台和 chrome 网络浏览器接受 3)我已经改变了厨师的设置-server.rb

nginx['ssl_certificate'] = "/var/opt/opscode/nginx/ca/hostname.crt"
nginx['ssl_certificate_key'] = "/var/opt/opscode/nginx/ca/hostname.key"

哪些转到已签名的证书。

还有什么我应该尝试的,或者我是一个木板吗?

在您的 Chef 服务器上尝试 运行 这些命令:

mkdir /root/.chef/trusted_certs    
cp /var/opt/chef-server/nginx/ca/YOUR_SERVER'S_HOSTNAME.crt /root/.chef/trusted_certs/   

我遇到了同样的问题,在阅读这篇文章并尝试了它给出的步骤后,问题得到了解决:http://jtimberman.housepub.org/blog/2014/12/11/chef-12-fix-untrusted-self-sign-certs/

我在使用有效的通配符证书时遇到了同样的问题,尽管它是 linux 而不是 windows。看起来问题是厨师客户端使用 openssl 并且没有 CA 和根证书。当我从 Chef 客户端服务器 运行 以下内容时,我遇到了错误: openssl s_client -connect chef_server_url*:443 -showcerts

我通过浏览到 Chef 服务器、检查证书并将链中的每个证书导出到单个文件解决了我的问题,在顶部排列了颁发的证书,在底部排列了根目录。然后,我将此捆绑证书用作 Chef 服务器配置文件中的证书文件并重新配置了 Chef。