Laradock и OpenSSL: ключ dh слишком мал

#laravel #nginx #openssl #diffie-hellman #laradock

#laravel #nginx #openssl #диффи-Хеллман #laradock

Вопрос:

У меня есть проект, созданный с помощью Laradock. Если я пытаюсь отправить электронное письмо с помощью Laravel, оно возвращает эту ошибку:

Не удалось установить соединение с хостом out.postassl.it :stream_socket_client(): Сбой операции SSL с кодом 1. Сообщения об ошибках OpenSSL: ошибка: 141A318A: Процедуры SSL: tls_process_ske_dhe: ключ dh слишком мал

За пределами docker это работает, поэтому я думаю, что проблема в каком-то контейнере docker. Это файл nginx.conf:

 ...
ssl_dhparam /etc/letsencrypt/dhparam.pem #4096
  ssl_protocols TLSv1.2 TLSv1.1 TLSv1;
  ssl_ciphers  'HIGH:!kRSA:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-$
  ssl_prefer_server_ciphers on;
...
  

default.conf:

 ...
server {
    listen 443 ssl;
    server_name example.com;
    root /var/www/public;
    index index.php index.html index.htm;

    ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
...
}
...
  

Как я могу устранить ошибку?
Спасибо!

Ответ №1:

Я также столкнулся с этой проблемой при разработке.

Вы можете решить проблему, снизив настройки безопасности TLS в php-fpm службе

  1. docker-compose exec php-fpm bash
  2. root@8d1d14a86c67:/var/www# apt-get update amp;amp; apt-get install vim -y
  3. vi /etc/ssl/openssl.cnf
  4. Измените TLSv1.2 на TLSv1 и DEFAULT@SECLEVEL=2 на DEFAULT@SECLEVEL=1
  5. Сохраните файл с CTRL ZZ
  6. перезапустите php-fpm docker-compose restart php-fpm

Комментарии:

1. Спасибо. Смотрите также этот коммит: github.com/laradock/laradock/pull/2698