reCAPTCHA - SSL 证书使用 Devise 和 Recaptcha 验证失败错误 gem

reCAPTCHA - SSL certificate verify failed error with Devise and Recaptcha gem

我正在尝试使用 recaptcha gem and tutorial as seen on here 实现 reCAPTCHA,但是当验证码通过并调用 create 方法时,它给出了一个错误:

SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed

我在使用 omniauth-facebook 时遇到了同样的错误,但通过在我的环境中添加 ENV['SSL_CERT_FILE'] = 'C:\cacert.pem' 解决了这个问题,但 reCAPTCHA 没有成功。我也试过 OpenSSL::SSL::VERIFY_PEER = OpenSSL::SSL::VERIFY_NONE 但它仍然给出相同的错误。

我试过部署到 ELB,但还是不行。

更新

它开始以某种方式在 AWS ELB 上工作...

问题是您的 ruby 版本无法找到 CA 根证书,如果您使用 RVM 安装 Ruby,您可能会幸运地这样做:

rvm osx-ssl-certs update all

但是,如果您需要手动执行此操作,我会这样做:

请试用并告诉我们。

我在 class Application 的末尾添加了 OpenSSL::SSL::VERIFY_PEER = OpenSSL::SSL::VERIFY_NONEconfig/application.rb 并且它与 recaptcha 验证一起工作。