簡體   English   中英

在Chef運行期間使用AWS開發工具包錯誤,但在Chef工作之外運行它

[英]Using the AWS SDK during a chef run errors but running it outside of chef works

我有一個通過AWS-SDK提取信息的幫助程序庫,因此它可以返回名稱列表,如下所示:

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

在廚師運行期間運行此代碼時,出現此錯誤:

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

但是,當我在廚師運行之外運行代碼時,它就可以工作了(我得到了我期望的ELB名稱列表)。

我使用IAM角色進行身份驗證。

我確實發現添加了一個(潛在的)修復程序,因此您可以執行以下操作:

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

但這並不是真正的選擇,因為我寧願自己解決問題(除非沒有其他方法可以解決)。

我認為可能是廚師運行期間AWS-SDK正在使用廚師SSL證書,這可能是原因。

為什么會出現這樣的錯誤,我該如何解決?

據我所知,這與Mozilla有關,Mozilla在2014年末刪除了1024位Root 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.io的Omnibus安裝程序,則需要手動更新發行版/ OpenSSL的根證書。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM