ナイフで新しい EC2 インスタンスを作成してプロビジョニングしようとしていますが、SSL エラーが発生し続けます。
$bundle exec knife ec2 server create
ERROR: Excon::Errors::SocketError: hostname "ec2.us-east-1b.amazonaws.com" does not match the server certificate (OpenSSL::SSL::SSLError)
Ruby 2.0.0p0を使用してMac(10.7)からこれを実行しています:
$ruby -v
ruby 2.0.0p0 (2013-02-24 revision 39474) [x86_64-darwin11.4.2]
私はopensslをサポートするRubyを正しくコンパイルしたと確信しています。require 'openssl'
irb から実行すると true が返されます。自作経由でインストールされた OpenSSL 1.0.1e を使用しています。
また、ruby 1.9.3-p194 でナイフを実行してみました。これは同じ結果になり、少し役に立たないエラー メッセージが表示されます:「エラー: Excon::Errors::SocketError: ホスト名がサーバー証明書と一致しません (OpenSSL::SSL::SSLError)」。その違いは、エラー メッセージhttps://github.com/ruby/ruby/pull/122を改善したこのプル リクエストの結果です。
curl からの次の出力が関連している可能性があります。
$curl -v https://ec2.us-east-1b.amazonaws.com
* About to connect() to ec2.us-east-1b.amazonaws.com port 443 (#0)
* Trying 67.215.65.132... connected
* Connected to ec2.us-east-1b.amazonaws.com (67.215.65.132) port 443 (#0)
* SSLv3, TLS handshake, Client hello (1):
* SSLv3, TLS handshake, Server hello (2):
* SSLv3, TLS handshake, CERT (11):
* SSLv3, TLS handshake, Server finished (14):
* SSLv3, TLS handshake, Client key exchange (16):
* SSLv3, TLS change cipher, Client hello (1):
* SSLv3, TLS handshake, Finished (20):
* SSLv3, TLS change cipher, Client hello (1):
* SSLv3, TLS handshake, Finished (20):
* SSL connection using AES256-SHA
* Server certificate:
* subject: serialNumber=UoFmxu6ta5ecJiIs4su2w-q-u8rxJ/d3; OU=GT55236522; OU=See www.rapidssl.com/resources/cps (c)12; OU=Domain Control Validated - RapidSSL(R); CN=*.opendns.com
* start date: 2012-08-23 10:11:50 GMT
* expire date: 2014-09-25 12:42:00 GMT
* subjectAltName does not match ec2.us-east-1b.amazonaws.com
* Closing connection #0
* SSLv3, TLS alert, Client hello (1):
* SSL peer certificate or SSH remote key was not OK
curl: (51) SSL peer certificate or SSH remote key was not OK
ナイフで EC2 インスタンスを正常に作成するために他に設定する必要があるものはありますか?