На новом сервере (Debian 10) с сайтом на Laravel возникла эта проблема. Ошибка появлялась в логах при отправке уведомлений по электронной почте. Отправка сообщений не работала.
Причина в том, что новый софт на сервере имеет более жесткие требования к безопасности, поэтому не хотел устанавливать соединение с mail-сервером, который был настроен сто лет назад.
stream_socket_enable_crypto(): SSL operation failed with code 1. OpenSSL Error messages:
error:141A318A:SSL routines:tls_process_ske_dhe:dh key too small {"userId":1,"exception":"[object] (ErrorException(code: 0): stream_socket_enable_crypto(): SSL operation failed with code 1. OpenSSL Error messages:
error:141A318A:SSL routines:tls_process_ske_dhe:dh key too small at /var/www/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/StreamBuffer.php:94)
Для исправления правильнее всего обновить настройки mail-сервера. Пока это не будет сделано можно временно изменить конфиг OpenSSL у себя на сервере, файл /etc/ssl/openssl.cnf
. Здесь по умолчанию:
[system_default_sect]
MinProtocol = TLSv1.2
CipherString = DEFAULT@SECLEVEL=2
Измените на:
[system_default_sect]
MinProtocol = TLSv1.2
#CipherString = DEFAULT@SECLEVEL=2
CipherString = DEFAULT@SECLEVEL=1
Перезапустите php-fpm:
service php7.4-fpm reload
docker-compose restart php-fpm
..