Rails 4 и Ruby 2 Net/HTTP SSL-запрос: OpenSSL::SSL::SSLError: SSL_connect return=1 errno=0 state=SSLv2/v3 read server hello A: неизвестный протокол

Это почти дубликат:

SSL_connect return=1 errno= 0 state=SSLv3 чтение сертификата сервера B: проверка сертификата не удалась

но относится к среде Rails 4 и Ruby 2. Я считаю уместным задать новый вопрос, потому что решения, которые работали на моей машине для предыдущих сред, больше не работают после обновлений Rails и Рубин.

Эта проблема

При выполнении запроса Net/HTTP SSL в соответствии с:

api_uri = URI("http://accounts.google.com/o/oauth2/token")
https = Net::HTTP.new(api_uri.host, api_uri.port)
https.use_ssl = true
https.ca_file = '/usr/local/etc/openssl/cert.pem' if Rails.env == "development"
https.request_get(api_uri.path)

я получаю

OpenSSL::SSL::SSLError: SSL_connect returned=1 errno=0 state=SSLv2/v3 read server hello A: unknown protocol

ошибка. Я пробовал решения в указанном вопросе, которые работали в предыдущих средах, но безрезультатно.


person Michael Pell    schedule 19.08.2013    source источник


Ответы (2)


Попробуйте установить сертификат в среде, т.е. ENV посмотрите, что поможет что-то вроде этого

ENV['SSL_CERT_FILE'] = "your certificate path"
person Viren    schedule 25.09.2013

Похоже, это опечатка - это должен быть протокол https:// в URI в первой строке (а не http://)

person Kitebuggy    schedule 14.03.2015