在使用sendgrid的Rails 4中遇到"OpenSSL::SSL::SSLError (主机名与服务器证书不匹配)"的错误提示。

3
我在 Rails 4 生产模式中使用 SendGrid 时出现了 "OpenSSL::SSL::SSLError (hostname does not match the server certificate)" 的错误。
ActionMailer::Base.smtp_settings = {
    :user_name => 'xxxx',
    :password => 'xxxx',
    :domain => 'moorem.com',
    :address => 'smtp.sendgrid.net',
    :port => 587,
    :authentication => :plain,
    :enable_starttls_auto => true
}

the following error getting
OpenSSL::SSL::SSLError (hostname does not match the server certificate):
  app/controllers/pages_controller.rb:26:in `contact_create'
1个回答

1
证书的通用名称为*.smtp.sendgrid.net,主题备用名称(SAN)部分包括*.smtp.sendgrid.netsmtp.sendgrid.net。如果仅与通用名称进行比较,则不匹配,但与SAN进行比较应该可以匹配。
所以我猜这是一个错误。我不知道您使用的ruby版本,但在最近的版本中,主机名验证看起来对我来说大多正常(只是通配符太宽松),因此我建议使用更新的ruby版本进行检查。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接