当我尝试部署到aws时出现此错误。事实证明这是我的机器上的一个问题,其他人没有遇到过。
jkazil@jlk:~/Projects/code/geoq-chef-repo [git master] $ vagrant up --provider=aws
Bringing machine 'default' up with 'aws' provider...
[default] Box 'ubuntu_aws' was not found. Fetching box from specified URL for
the provider 'aws'. Note that if the URL does not have
a box for this provider, you should interrupt Vagrant now and add
the box yourself. Otherwise Vagrant will attempt to download the
full box prior to discovering this error.
Downloading or copying the box...
An error occurred while executing multiple actions in parallel.
Any errors that occurred are shown below.
An error occurred while executing the action on the 'default'
machine. Please handle this error then try again:
An error occurred while downloading the remote file. The error
message, if any, is reproduced below. Please fix this error and try
again.
error:14077458:SSL routines:SSL23_GET_SERVER_HELLO:reason(1112)
jlk:~/Projects/code/geoq-chef-repo [git master] $
我在互联网上发现了一些事情,说我应该看看我的openssl版本。起初,它是0.9.8,但我在自制软件中有1.0.1f。所以我发现了这个:Update OpenSSL on OS X with Homebrew并遵循它。我能够更新OpenSSL。
jkazil@jlk:~/Projects/code/geoq-chef-repo [git master] $ openssl version
OpenSSL 1.0.1f 6 Jan 2014
jlk:~/Projects/code/geoq-chef-repo [git master] $
但这并没有解决问题。只是为了澄清,这不是一个问题,而是一个问题。这是我试图在本地拉一台机器。我正在使用不安全的标志试图推动它,但它无论是否有效。
jkazil@jlk:~/Projects/code/geoq-chef-repo [git master] $ vagrant box add dummy https://github.com/mitchellh/vagrant-aws/raw/master/dummy.box --insecure
Downloading or copying the box...
An error occurred while downloading the remote file. The error
message, if any, is reproduced below. Please fix this error and try
again.
error:14077458:SSL routines:SSL23_GET_SERVER_HELLO:reason(1112)
jlk:~/Projects/code/geoq-chef-repo [git master] $
最后,我想分享我的PATH,以防万一有人提出这个问题。
jlk:~/Projects/code/geoq-chef-repo [git master] $ echo $PATH
/usr/local/Cellar/ruby/2.0.0-p247/bin:/Users/jkazil/bin:/usr/local/bin:/usr/local/sbin:/usr/local/mysql/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin
jlk:~/Projects/code/geoq-chef-repo [git master] $
有什么建议吗?
答案 0 :(得分:2)
这将是一个悲伤的答案,但对此的解决方案是更新到10.9。然后问题就消失了。我知道这不是人们想要的答案,但我想我会在将头撞到墙上一段时间后尝试。
谢谢大家的帮助! 附: VAGRANT_LOG = info也有助于设置。
答案 1 :(得分:1)
我发现互联网上的一些事情说我应该看看我的版本 openssl。起初,它是0.9.8,但我在自制软件中有1.0.1f。所以我发现了这个: OpenSSL版本MacOSX Homebrew并关注它。我能够更新OpenSSL。
Mac OS X将尽可能多地在/usr/lib
中加载0.9.8:
$ find /usr/ -iname libssl*
/usr//lib/libssl.0.9.7.dylib
/usr//lib/libssl.0.9.8.dylib
/usr//lib/libssl.dylib
您需要确保加载预期版本的OpenSSL。如果您可以在gdb
下找到它,请发出info shared
并查看实际加载的OpenSSL 版本。
关于OS X及其链接器的一些事项:(1)它忽略rpath
的; (2)它忽略-Bstatic
之类的请求; (3)更一般地说,它总是链接到共享对象(如果可用的话)(即使在iOS上,你唯一想要使用的是存档); (4)LD_PRELOAD
不受尊重。
使用DYLD_LIBRARY_PATH
可能会有运气。
如果你不能让OS X使用1.0.1f,那么你将不得不重新构建有问题的组件。但是,您无需指定-L/usr/local/ssl -lssl -lcrypto
,而是需要省略标记并指定完整存档,例如/usr/local/ssl/lib/libssl.a
(不包含-l
)。
不要购买你不必在OS X上做这些事情的声明(声称“使用-L
和-lssl
,因为这是你想要使用的”)。我在苹果公司的装备上遭受了多年的苦难,而且我确信它不起作用(并且提出索赔的人显然不使用OS X)。 OS X有时候是一个真正的混蛋。
答案 2 :(得分:1)
此错误的一个原因可能是旧版本的OpenSSL尝试连接到使用HTTPS和SNI的服务器:
http://sourceforge.net/p/curl/bugs/1037/?limit=10&page=1#aa7f
尝试将日志级别设置得更高(例如VAGRANT_LOG=debug vagrant up
- 请参阅the Vagrant debugging guide)以查看相关网址并使用curl手动测试以确认失败。