Проблема с SSL при опросе POP3

При обычной проверке логов на продакшн-инстанции Discourse я обнаружил, что задача Poll Mailbox завершается ошибкой:

Job exception: SSL_connect returned=1 errno=0 state=error: certificate verify failed (self signed certificate)

Несколько важных замечаний:

  • Эта инстанция представляет собой стандартную установку Discourse на Digital Ocean с сертификатом LetsEncrypt. На сервере ничего лишнего нет.
  • Импорт электронной почты через POP3 работал без каких-либо проблем в течение нескольких месяцев.
  • С стороны Gmail никаких признаков проблем нет (например, подозрительных входов в аккаунт и т.п.).

Существует интересная тема, где упоминается та же ошибка, но, судя по всему, она касается установки, где действительно используется самоподписанный сертификат: Reply by email SSL self signed certificate error.

Соответствующие настройки сайта были следующими:

pop3 polling enabled: true
pop3 polling ssl: true
pop3 polling openssl verify: true
pop3 polling period mins: 5
pop3 polling host: pop.gmail.com
pop3 polling port: 995
pop3 polling username: // имя пользователя Gmail
pop3 polling password: // пароль Gmail
pop3 polling delete from server: true

Сначала я попробовал переключить настройку pop3 polling enabled, но это не дало результата (и ошибок не возникло). Также я пересобрал контейнер. Наконец, я изменил значение pop3 polling openssl verify на false, и задача Poll Mailbox снова начала работать.

Пока не совсем понятно, что именно произошло, но решил сообщить об этом.

Как дополнительное замечание: если задача Poll Mailbox завершается ошибкой, было бы полезно фиксировать это в интерфейсе администратора, так как «тихая» неудача и невозможность импорта сообщений могут привести к определённым проблемам.

3 лайка

Я наблюдаю ту же проблему на одном из своих сайтов. Я сейчас посмотрю…

2 лайка

Это было вызвано несовместимостью между TLS 1.3 и Ruby. Я добавил временное решение и постараюсь исправить проблему на стороне основного проекта.

И я согласен, мы должны отображать все ошибки POP3 в панели администратора, а не только тайм-ауты и ошибки аутентификации. Я также исправлю это.

10 лайков