OpenSSL::SSL::SSLError:SSL_connect 返回=1 errno=0 state=SSLv3 读取服务器证书 B:证书验证失败 - 向外部 API 发送任务 [英] OpenSSL::SSL::SSLError: SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed - rake task to external API
问题描述
我正在尝试构建一个访问 viglink API 的 rake 任务,这是一个 url 附属服务.
I am trying to build a rake task that accesses the API of viglink, a url affiliating service.
但是,当我的 rake 任务运行 open(url) 时,其中 url 是 https uri,我得到的错误是:
However, when my rake task runs open(url), where url is an https uri, the error I get is:
rake aborted!
OpenSSL::SSL::SSLError: SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed
我尝试使用此答案解决此问题,但出现相同错误
I tried to fix this using this answer, but I get the same error
Heroku 上的 OpenSSL::SSL::SSLError
有没有人有类似的问题,但上面没有解决?我正在 Ubuntu 12.04.4 LTS (GNU/Linux 3.8.0-29-generic x86_64) 上的 Digital Ocean Droplet 上运行它
Is anyone having a similar issue that isn't solved with the above ? I'm running this on a Digital Ocean droplet on Ubuntu 12.04.4 LTS (GNU/Linux 3.8.0-29-generic x86_64)
我的佣金任务的相关部分:
relevant part of my rake task:
url = "https://www.viglink.com/service/v1/cuidRevenue?lastDate=2014%2F12%2F23&period=week&secret=0d0dfillerb57acb4"
response = open(url)
错误发生在第二行.
节日快乐!
推荐答案
当每个人都开始移除 SSLv3 支持时遇到了同样的问题.您的目标网站也做了同样的事情:
Ran into the same problem when everyone started removing SSLv3 support. Your target site has done the same:
nmap --script ssl-enum-ciphers -p 443 www.viglink.com
Starting Nmap 6.40 ( http://nmap.org ) at 2014-12-25 08:16 EST
Nmap scan report for www.viglink.com (192.155.80.114)
Host is up (0.083s latency).
rDNS record for 192.155.80.114: li566-114.members.linode.com
PORT STATE SERVICE
443/tcp open https
| ssl-enum-ciphers:
| SSLv3: No supported ciphers found
| TLSv1.0:
| ciphers:
| TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA - strong
| TLS_DHE_RSA_WITH_AES_128_CBC_SHA - strong
| TLS_DHE_RSA_WITH_AES_256_CBC_SHA - strong
| TLS_RSA_WITH_3DES_EDE_CBC_SHA - strong
| TLS_RSA_WITH_AES_128_CBC_SHA - strong
| TLS_RSA_WITH_AES_256_CBC_SHA - strong
| compressors:
| NULL
|_ least strength: strong
Nmap done: 1 IP address (1 host up) scanned in 4.47 seconds
解决方案是在您的机器上更新 openssl
.
Solution is to update openssl
on your machine.
openssl version
OpenSSL 1.0.1f 6 Jan 2014
我的回答没有错误:
require 'open-uri'
url = 'https://www.viglink.com/'
response = open(url)
# => #<Tempfile:/tmp/open-uri20141225-19253-qhcgcg>
puts response.base_uri
# => https://www.viglink.com/
这篇关于OpenSSL::SSL::SSLError:SSL_connect 返回=1 errno=0 state=SSLv3 读取服务器证书 B:证书验证失败 - 向外部 API 发送任务的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!