无法解决此错误:错误:14077458:SSL 例程:SSL23_GET_SERVER_HELLO:reason(1112) - 关于尝试啥的任何想法?

Posted

技术标签:

【中文标题】无法解决此错误:错误:14077458:SSL 例程:SSL23_GET_SERVER_HELLO:reason(1112) - 关于尝试啥的任何想法?【英文标题】:Unable to solve this error: error:14077458:SSL routines:SSL23_GET_SERVER_HELLO:reason(1112) -- any ideas on what to try?无法解决此错误:错误:14077458:SSL 例程:SSL23_GET_SERVER_HELLO:reason(1112) - 关于尝试什么的任何想法? 【发布时间】:2014-04-29 02:25:04 【问题描述】:

当我尝试部署到 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] $

但这并没有解决问题。只是为了澄清一下,这不是 aws 问题,而是我的问题。这是我试图在本地拉下一台机器。我正在使用不安全标志来尝试将其通过,但无论是否使用它都不起作用。

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] $

有什么建议吗?

【问题讨论】:

您是否安装了一些 SSL 拦截防火墙? 这有关系吗? github.com/mitchellh/vagrant/issues/3036 这个问题似乎离题了,因为它是 Vagrant 中已经报告的错误:github.com/mitchellh/vagrant/issues/3036 不,这个问题不同。在这里,服务器回复“无法识别的名称”致命 SSL 警报(作为对其不知道的 SNI 服务器名称的回复发送),这与客户端决定无法验证证书(valgrand issue 3036)完全不同。 所有 -- 我正在阅读 cmets。 @SteffenUllrich - 我已经在 3 个不同的网络上厌倦了这个,包括家庭,所以我不认为我在 SSL 拦截防火墙后面。 【参考方案1】:

这将是一个悲伤的答案,但解决方案是更新到 10.9。然后问题就消失了。我知道这不是人们想要的答案,但我想我会在用头撞墙一段时间后尝试一下。

感谢大家的帮助! 附: VAGRANT_LOG=info 也有助于设置。

【讨论】:

我在 10.8(OpenSSL 0.9.8y 2013 年 2 月 5 日)上看到了这个确切的错误,但我的同事正在运行 10.9(OpenSSL 1.0.1g 2014 年 4 月 7 日)并且没有看到这个错误。 然而,在我的情况下,设置每个 serverfault.com/questions/540953/… 的 ServerName 也修复了它,即使在 10.8 上也是如此。【参考方案2】:

我在互联网上发现了一些东西说我应该看看我的版本 的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's; (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,因为这是你想用的东西”)。我多年来一直在使用 Apple 的设备,而且我确信它不起作用(而且提出索赔的人显然不使用 OS X)。 OS X 有时是一个真正的混蛋。

【讨论】:

【参考方案3】:

此错误的一个原因可能是旧版本的 OpenSSL 尝试连接到使用 HTTPS 和 SNI 的服务器:

http://sourceforge.net/p/curl/bugs/1037/?limit=10&page=1#aa7f

尝试将日志级别设置得更高(例如VAGRANT_LOG=debug vagrant up - 请参阅the Vagrant debugging guide)以查看有问题的 URL,并使用 curl 手动测试以确认失败。

【讨论】:

以上是关于无法解决此错误:错误:14077458:SSL 例程:SSL23_GET_SERVER_HELLO:reason(1112) - 关于尝试啥的任何想法?的主要内容,如果未能解决你的问题,请参考以下文章

如何解决此错误:跳转到案例标签交叉初始化[重复]

无法解决此错误。 Kotlin -Firebase

如何解决此问题 错误:无法解析包?

adapter.setOnClickItemListener ( (ImageAdapter.OnItemClickListener) getActivity( ) );此代码生成错误,我无法解决错误

如何解决此“无法识别的选择器发送到实例”错误?

无法显示此网页出现错误代码“DNS-PROBE-POSSIBLE”怎么解决?