https
エンドポイントへのアクセス時に、本番 (Heroku) および開発 (ローカル) インスタンスが動作しています。しかし、過去 2 日間で、恐ろしい OpenSSL エラーが発生し始めました。
OpenSSL::SSL::SSLError: SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed
私は StackOverflow とhttp://railsapps.github.io/openssl-certificate-verify-failed.htmlで多くの OpenSSL の失敗した投稿を読みました。
最新の OpenSSL に更新し、以下を実行して確認しました。
ruby -ropenssl -e 'p OpenSSL::OPENSSL_VERSION'
"OpenSSL 1.0.1e 11 Feb 2013"
ただし、まだこのエラーが発生します。
OpenSSL::SSL::SSLError: SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed
エンドポイントを指しているhash = JSON.parse(open(_url).read)
場所を呼び出すと。_url
https
一部のプロバイダーへのアクセスに問題はないようです。たとえば、: を発行curl -I https://d2chzxaqi4y7f8.cloudfront.net/gems/rake-0.9.2.2.gem
すると、うまくいくようです。
私もこれを試してみましたがirb
、うまくいくようです:
require 'open-uri'
open 'https://google.com'
=> #<File:/var/folders/dv/s_2dq32n0ggcn65kn61jtmc80000gn/T/open-uri20130630-887-y2cg2q>
これは、エンドポイント プロバイダーが修正する必要があるものですか、それとも OpenSSL のローカルおよび実稼働実装で何かを行う必要がありますか?