1

一直在努力反对这一点,并且需要将想法与其他人相提并论。我一直在本地:

OpenSSL::SSL::SSLError: SSL_connect returned=1 errno=0 state=error: certificate verify failed

我上了heroku:

openssl::ssl::sslerror: ssl_connect returned=1 errno=0 state=sslv3 read server certificate b: certificate verify failed

我的 discourse 实例有一个来自 DNSimple 的 SSL 证书,所以一切正常。在heroku 上,因为我只有一个rails API,所以我选择不为此获得SSL 证书,因为heroku 已经为您提供了一个,并且只需使用您的heroku 实例中的URL。

现在,我可以使用 Advanced Rest Client(Chrome 扩展)并向我的话语实例发出请求了。这是我与 discourse_api gem 一起使用的一些代码。

discourse_client = DiscourseApi::Client.new('https://community.desta.co')
discourse_client.api_key = ENV['COMMUNITY_API_KEY']
# path to heroku cert, which I verified exists through `heroku run bash`
discourse_client.ssl(ca_file: '/usr/lib/ssl/certs/ca-certificates.crt')
discourse_client.api_username = 'system'

也许我误解了证书?请帮忙!谢谢

4

1 回答 1

0

对于可能遇到此问题的任何人,我都能够解决它。我在https://www.ssllabs.com/ssltest/analyze.html测试了我的 SSL 配置,并意识到我没有任何中间证书以及我的主证书:(。绝对忽略了那个,希望它可以帮助任何人。

于 2015-12-12T18:09:00.683 回答