3

このエラーは、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を持っていました。だから私はこれを見つけました:HomebrewでOS XのOpenSSLを更新し、それに従いました。そして、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] $

助言がありますか?

4

3 に答える 3

1

私のバージョンのopensslを調べる必要があるということをインターネットでいくつか見つけました。最初は0.9.8でしたが、自作で1.0.1fを持っていました。だから私はこれを見つけました: OpenSSL Version MacOSX Homebrew そしてそれに従いました。そして、OpenSSL を更新することができました。

Mac OS X は 0.9.8 をロードするためにできる限りのことを行います/usr/lib:

$ 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 sharedOpenSSL のバージョンを確認してください。

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することを想定しているからです」などの主張)。私は何年もの間、Apple の機器でそれらに悩まされてきましたが、それが機能しないことは確かです (そして、主張して​​いる人々は明らかに OS X を使用していません)。OS X は、ときどき本当のろくでなしです。

于 2014-03-22T01:58:46.393 に答える
1

このエラーの原因の 1 つは、古いバージョンの OpenSSL が、SNI で HTTPS を使用するサーバーに接続しようとしている可能性があります。

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

ログ レベルを高く設定してみて (例: Vagrant デバッグ ガイドVAGRANT_LOG=debug vagrant upを参照)、問題の URL を確認し、curl を使用して手動でテストして失敗を確認します。

于 2014-03-24T22:55:15.223 に答える