【发布时间】:2019-05-28 16:57:23
【问题描述】:
我使用 CloudFlare Flexible SSL 证书。
当我尝试发送用户注册确认时,我收到 500 错误。在日志中:
OpenSSL::SSL::SSLError(SSL_connect 返回=1 errno=0 state=SSLv2/v3 读取服务器hello A:未知协议):
我的production.rb:
config.action_mailer.default_url_options = { host: 'localhost', port: 3000 }
config.action_mailer.delivery_method = :smtp
config.action_mailer.smtp_settings = {
tls: true,
address: 'smtp.yandex.ru',
port: 587,
domain: 'yandex.ru',
authentication: 'plain',
user_name: 'admin@site.ru',
password: 'password',
}
我该如何解决这个错误?
【问题讨论】:
-
希望您已配置 SSL 密钥和证书。然后使用配置启动服务器。如果您不知道或尚未完成此步骤,请 google 查找教程。 :)
-
我在 CloudFlare 面板中配置了 SSL 证书。不要使用服务器进行配置。在 apache 规则中,我使用重定向到 https 并且它可以工作。
-
我的意思是为 puma 或您正在使用的任何 Rails 服务器设置 SSL。
-
我没有证书文件,因为 CloudFlare 不颁发它们
-
这个问题与你服务器上的SSL证书无关,也与cloudflare无关。对于典型的 SMTP+STARTTLS 服务器,您的设置看起来是正确的,所以我会说您需要一些较低级别的调试日志记录或其他一些分析工具,例如 testssl.sh。
标签: ruby-on-rails ruby