一直在努力反对这一点,并且需要将想法与其他人相提并论。我一直在本地:
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'
也许我误解了证书?请帮忙!谢谢