OpenSSL :: SSL :: SSLError : имя хоста «smtp.gmail.com» не соответствует сертификату сервера

Это то, что я установил в файле setup_email.rb,

if Rails.env.production?
  ActionMailer::Base.smtp_settings = {
      :address              => "smtp.gmail.com",
      :port                 => "587",
      :domain               => "gmail.com",
      :user_name            => "username",
      :password             => "mypass",
      :authentication       => "login",
      :enable_starttls_auto => true
  }
end

Этот код работает в разработке и staging envoirnment .

Этот код работал нормально на продакшене , внезапно через несколько дней он перестал работать, и я получаю сообщение об ошибке. Я пробовал настроить openssl_verify_mode: none по-прежнему не работает.

Затем я сменил учетную запись Gmail, но получил ту же ошибку. Похоже, что некоторые ошибка на стороне сервера

Ошибка:

OpenSSL :: SSL :: SSLError: имя хоста "smtp.gmail.com" не соответствует сертификат сервера

Я пробовал разные методы в Интернете, но они не работали. Любая помощь будет принята с благодарностью.

1
задан 19 April 2018 в 10:36
1 ответ

В той же производственной системе используется:

openssl s_client -connect smtp.gmail.com:587 -starttls smtp -showcerts

В моей системе вывод включает:

subject=/C=US/ST=California/L=Mountain View/O=Google Inc/CN=smtp.gmail.com

Ваше программное обеспечение smtp, вероятно, проверяет, что CN = smtp.gmail.com, и видит там что-то еще. Например, кто-то мог встать посередине между вами и gmail.com. Не обязательно враждебно, это может быть простая модификация / etc / hosts или изменение прокси-сервера socks.

1
ответ дан 3 December 2019 в 23:17

Теги

Похожие вопросы