2014-09-01 70 views
0

我只想知道如何在Windows平台下为Berkshelf3设置代理值(Url,用户,密码),当我启动命令> berks intall?厨师BERKSHELF3代理设置 - Windows平台

  • 我已经在cmd命令尝试:
    HTTP_PROXY = 'http://xx.xx.xx.xx'
    http_proxy_user = USERNAME
    http_proxy_pass = PASSWORD

  • 的reamining问题:

    C:\ chef- repo-distant \ cookbooks \腻子> berks安装 解决食谱依赖关系... 从源头获取'腻子'。 从ttps://supermarket.getchef.com获取食谱索引... C:/opscode/chefdk/embedded/lib/ruby/2.0.0/net/http.rb:918:在connect': SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certific ate verify failed (Faraday::SSLError) from C:/opscode/chefdk/embedded/lib/ruby/2.0.0/net/http.rb:918:in块中连接' 从C:/opscode/chefdk/embedded/lib/ruby/2.0.0/timeout.rb:66:在timeout' from C:/opscode/chefdk/embedded/lib/ruby/2.0.0/net/http.rb:918:in连接' 从C:/opscode/chefdk/embedded/lib/ruby/2.0.0/net/http .rb:862:do_start' from C:/opscode/chefdk/embedded/lib/ruby/2.0.0/net/http.rb:851:in从C:/opscode/chefdk/embedded/lib/ruby/2.0.0/net/http.rb:1367开始' :在request' from C:/opscode/chefdk/embedded/lib/ruby/2.0.0/net/http.rb:1126:in从C:/ opscode/chefdk/embedded获得' /lib/ruby/gems/2.0.0/gems/faraday-0.9.0/lib/faraday/adapter/net_http.rb:78:in perform_request' from C:/opscode/chefdk/embedded/lib/ruby/gems/2.0.0/gems/faraday-0.9.0/lib/faraday/adapter/net_http.rb:39:in从C:/ opscode/chefdk/embedded/lib/ruby​​ /调用' /宝石/ 2.0.0 /宝石/法拉第-0.9.0/lib /法拉第/请求/重试.rb:87:在call' from C:/opscode/chefdk/embedded/lib/ruby/gems/2.0.0/gems/faraday-0.9.0/lib/faraday/response.rb:8:in调用' from C:/opscode/chefdk/embedded/lib/ruby/gems/2.0.0/gems/faraday-0.9.0/lib/faraday/response.rb:8:in call' from C:/opscode/chefdk/embedded/lib/ruby/gems/2.0.0/gems/faraday-0.9.0/lib/faraday/rack_builder.rb:139:in build_response' from C:/ opscode/chefdk/embedded/lib/ruby​​/gems/2.0.0/gems/faraday-0.9.0/lib/faraday/connection.rb:377:在run_request' from C:/opscode/chefdk/embedded/lib/ruby/gems/2.0.0/gems/faraday-0.9.0/lib/faraday/connection.rb:140:in从C:/ opscode/chefdk/embedded/lib/ruby​​获得' /gems/2.0.0/gems/berkshelf-api-client-1.2.0/lib/berkshelf/api_client/connection.rb:62:in universe' from c:/opscode/chefdk/embedded/apps/berkshelf/lib/berkshelf/source.rb:22:in build_universe' from c:/ opscode/chefdk/embedded/apps/berkshelf/lib/berkshelf/installer.rb:21:在'block(2 levels)in build_universe'

感谢您的支持!


尝试按照所有的修复,我可以在网上找到,但它没能:(

我使用“源“TTP://api.berkshelf.com”在我Berksfile
并启动命令伯克斯在一个PowerShell窗口

安装无代理设置,我得到:

Error retrieving universe from source: ttp://api.berkshelf.com 
    * [Berkshelf::APIClient::TimeoutError] Unable to connect to: ttp://api.berkshelf.com 

w^ITH代理设置,我得到:

Installing windows (1.34.2) from ttp://api.berkshelf.com ([opscode] ttp://supermarket.getchef.com/api/v1) 
E, [2014-09-01T18:27:50.775682 #13104] ERROR -- : Actor crashed! 
Faraday::SSLError: SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed 
     C:/opscode/chefdk/embedded/lib/ruby/2.0.0/net/http.rb:918:in `connect' 
     C:/opscode/chefdk/embedded/lib/ruby/2.0.0/net/http.rb:918:in `block in connect' 
     C:/opscode/chefdk/embedded/lib/ruby/2.0.0/timeout.rb:52:in `timeout' 
     C:/opscode/chefdk/embedded/lib/ruby/2.0.0/net/http.rb:918:in `connect' 
     C:/opscode/chefdk/embedded/lib/ruby/2.0.0/net/http.rb:862:in `do_start' 
     C:/opscode/chefdk/embedded/lib/ruby/2.0.0/net/http.rb:851:in `start' 
     C:/opscode/chefdk/embedded/lib/ruby/2.0.0/net/http.rb:1367:in `request' 
     C:/opscode/chefdk/embedded/lib/ruby/2.0.0/net/http.rb:1126:in `get' 
     C:/opscode/chefdk/embedded/lib/ruby/gems/2.0.0/gems/faraday-0.9.0/lib/faraday/adapter/net_http.rb:78:in `perform 
_request' 

,我渴望来解决这个问题:(


呀,它的工作原理我不得不从IE浏览器中添加3个证书检索到cacert.pem !!! 大;)
感谢Tensibai;)

回答

1

你的问题是在这里:

连接“:所以SSL_connect返回= 1个错误号= 0状态= SSLv3的读取服务器证书B:certific 吃了验证失败(法拉第:: SSLError)

您的代理正在对SSL流量进行拦截并使用其自己的证书来吊销远端站点证书。

所以你必须将你的代理证书添加到你的ruby安装的cacerts.pem

使用导航器显示ssl站点的代理信息并使用“复制到文件”并选择base64编码的x509格式。

下一页编辑这个文件,根据你安装它会c:/opscode/chefdk/embedded/ssl/cacerts.pem

最后一个之前粘贴您的代理证书(以避免最终搞乱其内容

编辑CACERT文件(复制的chefdk文件 和)重试应该做的伎俩

在某些情况下,你必须设置内的ssl_cert_file的环境变量:

set SSL_CERT_FILE=c:/opscode/chefdk/embedded/ssl/cacerts.pem

Source

+0

你的意思是:Base64编码的X.509? – 2014-09-01 14:06:12

+0

就是这样,从法语和记忆翻译得很差。 (现在有错误更正) – Tensibai 2014-09-01 14:07:42

+0

是的。我也是法国人:)。 感谢您的提示,但它没有使:( 我可能会错过这里的一些事情:( – 2014-09-01 14:19:56