OpenUri 和 OpenSSL 无法获取本地颁发者证书

OpenUri and OpenSSL unable to get local issuer certificate

我正在使用 OpenUri 从 HTTPS 服务器读取 JSON 文件。几天前它工作正常,但今天早上我得到:

OpenSSL::SSL::SSLError: SSL_connect returned=1 errno=0 state=error: certificate verify failed
The server presented a certificate that could not be verified:
error code 20: unable to get local issuer certificate

我认为服务器刚刚更新了它的 SSL 证书,所以我想知道这是否相关?否则我的系统是否丢失了根证书?

我是 运行 Mac OS 10.11.2,Ruby 2.3.0 和 OpenSSL 1.0.2e,使用 Homebrew 安装,我使用 RVM。

The server is kimonolabs.com

服务器没有发送建立信任链所需的中间证书。因此验证失败。在这些情况下,浏览器通常会使用从早期连接到其他站点的缓存中间证书,或者尝试从 Web 下载丢失的证书。但其他客户端不这样做,因此验证失败。

另见 the report from SSLLabs:

This server's certificate chain is incomplete. Grade capped to B.

因此,需要在服务器端解决问题。