如何在Heroku上为Rescue设置SSL证书?

时间:2012-06-21 15:12:55

标签: ruby-on-rails heroku resque

我正在尝试在Resque的生产环境版本上调试失败的作业,因为这是我使用的所有Web界面:

Worker:      9c9fe9d3-8ee0-43fe-afcd-c6806fc75f0d:2 on sentiment_pull at just now
Class:       SentimentJob
Arguments:   [16, 17, 18]13
Exception:   OpenSSL::SSL::SSLError
Error:       SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed

这在开发中有效,我不知道为什么我会在Heroku上遇到OpenSSL错误。我也在使用Omniauth,因此我已经设置了初始化程序:

Rails.application.config.middleware.use OmniAuth::Builder do  
  provider #...
  :client_options => {:ssl => {:ca_path => "/etc/ssl/certs"}}
end

我没有在Heroku上找到任何需要SSL证书的Resque示例,所以我有点难过,因为该作业设置为在HTTPS URL上发出请求。

1 个答案:

答案 0 :(得分:0)

我最近遇到了这个问题,尽管有很多关于如何修复它的答案,但这是唯一一个对我有效的方法(我不是Heroku而是Debian VPS)。这在大多数情况下都是一个坏主意,但对于我需要接受自签名SSL记录的用例来说还不错。

OpenSSL::SSL::VERIFY_PEER = OpenSSL::SSL::VERIFY_NONE

这将导致OpenSSL无法验证SSL记录并将抑制错误。