gpt4 book ai didi

ruby - 在 Chef 运行错误期间使用 AWS SDK 但在 Chef 工作之外运行它

转载 作者:太空宇宙 更新时间:2023-11-03 14:11:00 24 4
gpt4 key购买 nike

我有一个帮助程序库,AWS-SDK 可以提取信息,因此它可以返回一个名称列表,如下所示:

def get_load_balancer_names
self.elb_client.describe_load_balancers[:load_balancer_descriptions].map { |elb| elb[:load_balancer_name] }
end

当 Chef 运行期间运行此代码时,我收到此错误:

SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed[0m

但是当我在 chef run 之外运行代码时,它起作用了(我得到了我期望的 ELB 名称列表)。

我使用 IAM 角色进行身份验证。

我确实找到了 this添加了一个(潜在的)修复程序,因此您可以:

AWS.config(:ssl_ca_path => '/...')

但这不是一个真正的选择,因为我宁愿自己处理问题(当然除非没有其他方法)。

我认为可能是 AWS-SDK 在 Chef 运行期间使用了 Chef SSL 证书,这可能就是原因。

为什么会出现这样的错误,我该如何解决?

最佳答案

据我所知,这与 Mozilla 有关,Mozilla 在 2014 年底删除了 1024 位根 CA 证书。从技术上讲,这很好,但不幸的是破坏了许多旧证书链。

此问题在“已删除 RSA-1024”一节中进行了描述 http://curl.haxx.se/docs/caextract.html .

在 ChefDK 中 https://github.com/chef/chef-dk/issues/199#issuecomment-60643682

Omnibus (https://downloads.chef.io/) 最近发布的 ChefDK 和 Chef-Client 版本包括一个具有旧 RSA-1024 根证书的根信任。

我建议您更新 Chef 客户端。

如果您还没有使用 chef.io 的 Omnibus 安装程序,则需要手动更新您的发行版/OpenSSL 的根证书。

关于ruby - 在 Chef 运行错误期间使用 AWS SDK 但在 Chef 工作之外运行它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30488750/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com