Rails - 与Devise的SSL错误

时间:2015-04-21 13:38:57

标签: ruby-on-rails devise

我之前使用过Devise并没有遇到什么麻烦。对于这个项目,我能想到的唯一不同的是,我正在尝试omniauth(我只是添加了宝石 - 还没有功能),这是我第一次从Windows切换到Ubuntu 14.04

当我尝试使用Devise注册新用户时,我收到错误:

SSL_connect returned=1 errno=0 state=unknown state: unknown protocol

Extracted source (around line #586):


584    logging "TLS connection started"
585    s.sync_close = true
586    s.connect
587    if @ssl_context.verify_mode != OpenSSL::SSL::VERIFY_NONE
588        s.post_connection_check(@address)
589    end

在config / environments / development.rb中我有:

  config.action_mailer.default_url_options = { :host => 'localhost', port: 3000 }

  config.action_mailer.delivery_method = :smtp
  config.action_mailer.smtp_settings = {
    :enable_starttls_auto => true,
    :address => 'smtp.gmail.com',
    :port => 587,
    :tls => true,
    :domain => 'gmail.com', #you can also use google.com
    :authentication => :login,
    :user_name => 'my_email@gmail.com',
    :password => 'password'
  }

我真的不明白这个问题,所以任何帮助都会非常感激。

1 个答案:

答案 0 :(得分:1)

尝试将SSL_Cert_file环境变量设置为:

编辑〜/ .bashrc文件并添加:

export SSL_CERT_FILE=/etc/ssl/certs/ca-certificates.crt

如果这不起作用并且您正在使用RVM,则可能将路径设置为:~/.rvm/usr/ssl/cert.pem

在进行任何更改之前,请记下当前的路径,以便在需要时将其设置回来。