#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
службе
docker-compose exec php-fpm bash
- root@8d1d14a86c67:/var/www#
apt-get update amp;amp; apt-get install vim -y
vi /etc/ssl/openssl.cnf
- Измените
TLSv1.2
наTLSv1
иDEFAULT@SECLEVEL=2
наDEFAULT@SECLEVEL=1
- Сохраните файл с
CTRL ZZ
- перезапустите php-fpm
docker-compose restart php-fpm
Комментарии:
1. Спасибо. Смотрите также этот коммит: github.com/laradock/laradock/pull/2698