我正在尝试构建一个访问网址附属服务viglink的API的耙子任务。
但是,当我的 rake 任务运行 open(url) 时,其中 url 是一个 https uri,我得到的错误是:
rake aborted!
OpenSSL::SSL::SSLError: SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed
我试图使用此答案解决此问题,但是我遇到了相同的错误
OpenSSL::SSL::SSLError on Heroku
有没有人遇到上述无法解决的类似问题?我在 Ubuntu 12.04.4 LTS(GNU/Linux 3.8.0-29-通用x86_64)上的数字海洋液滴上运行它
我的耙子任务的相关部分:
url = "https://www.viglink.com/service/v1/cuidRevenue?lastDate=2014%2F12%2F23&period=week&secret=0d0dfillerb57acb4"
response = open(url)
错误发生在第二行。
节日快乐!
当每个人都开始删除 SSLv3 支持时遇到了同样的问题。 您的目标站点也做了同样的事情:
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
。
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/