连接到主机的SSL验证失败

连接到主机的SSL验证失败,ssl,amazon-web-services,openssl,chef-infra,rackspace,Ssl,Amazon Web Services,Openssl,Chef Infra,Rackspace,我正试图上传厨师服务器上的一些食谱。我使用笔记本电脑作为工作站,使用opscode.com上的托管厨师作为厨师服务器。现在,当我尝试将烹饪书从我的工作站上传到chef服务器时,出现以下错误: 错误:连接到主机的SSL验证失败:s3-external-1.amazonaws.com-SSL\u connect返回=6 errno=0 state=SSLv3已完成读取 错误:OpenSSL::SSL::SSLError:SSL\u connect返回=6 errno=0 state=SSLv3读取已

我正试图上传厨师服务器上的一些食谱。我使用笔记本电脑作为工作站,使用opscode.com上的托管厨师作为厨师服务器。现在,当我尝试将烹饪书从我的工作站上传到chef服务器时,出现以下错误:

错误:连接到主机的SSL验证失败:s3-external-1.amazonaws.com-SSL\u connect返回=6 errno=0 state=SSLv3已完成读取 错误:OpenSSL::SSL::SSLError:SSL\u connect返回=6 errno=0 state=SSLv3读取已完成

我正在使用rackspace私有云的食谱:

我正在使用v4.2.1版的烹饪书。请帮我解决这个问题

谢谢

错误:连接到主机的SSL验证失败: s3-external-1.amazonaws.com-SSL\u connect返回=6 errno=0 state=SSLv3读取完成错误:OpenSSL::SSL::SSLError:SSL\u connect 返回=6 errno=0 state=SSLv3读取已完成

对我有用

确保您拥有并信任3级公共初级证书颁发机构。您可以从赛门铁克的
Class 3公共初级证书颁发机构
。特别是,取回

然后,用OpenSSL的
s_客户端测试它。您下载并信任的根目录是
PCA-3G5.pem
,您可以通过
-CAfile
选项将其提供给OpenSSL:

$ openssl s_client -CAfile PCA-3G5.pem -connect s3-external-1.amazonaws.com:443
CONNECTED(00000003)
depth=3 C = US, O = "VeriSign, Inc.", OU = Class 3 Public Primary Certification Authority
verify return:1
depth=2 C = US, O = "VeriSign, Inc.", OU = VeriSign Trust Network, OU = "(c) 2006 VeriSign, Inc. - For authorized use only", CN = VeriSign Class 3 Public Primary Certification Authority - G5
verify return:1
depth=1 C = US, O = "VeriSign, Inc.", OU = VeriSign Trust Network, OU = Terms of use at https://www.verisign.com/rpa (c)10, CN = VeriSign Class 3 Secure Server CA - G3
verify return:1
depth=0 C = US, ST = Washington, L = Seattle, O = Amazon.com Inc., CN = *.s3-external-1.amazonaws.com
verify return:1
---
Certificate chain
 0 s:/C=US/ST=Washington/L=Seattle/O=Amazon.com Inc./CN=*.s3-external-1.amazonaws.com
   i:/C=US/O=VeriSign, Inc./OU=VeriSign Trust Network/OU=Terms of use at https://www.verisign.com/rpa (c)10/CN=VeriSign Class 3 Secure Server CA - G3
 1 s:/C=US/O=VeriSign, Inc./OU=VeriSign Trust Network/OU=Terms of use at https://www.verisign.com/rpa (c)10/CN=VeriSign Class 3 Secure Server CA - G3
   i:/C=US/O=VeriSign, Inc./OU=VeriSign Trust Network/OU=(c) 2006 VeriSign, Inc. - For authorized use only/CN=VeriSign Class 3 Public Primary Certification Authority - G5
 2 s:/C=US/O=VeriSign, Inc./OU=VeriSign Trust Network/OU=(c) 2006 VeriSign, Inc. - For authorized use only/CN=VeriSign Class 3 Public Primary Certification Authority - G5
   i:/C=US/O=VeriSign, Inc./OU=Class 3 Public Primary Certification Authority
---
Server certificate
...
    Start Time: 1392896325
    Timeout   : 300 (sec)
    Verify return code: 0 (ok)

如果您只是在执行临时测试,则可以通过在knife.rb文件中添加以下两行来禁用SSL验证:

verify_api_cert false
ssl_verify_mode :verify_none

但同样,如果您正在设置一个真正的服务器,您应该获得一个真正的证书:)

对我有效。谢谢你的帮助!非常感谢您没有建议用户关闭SSL验证:)@sethvargo-never。我对信任公家的事讳莫如深。(我写了这些:和)。