Я пытаюсь настроить HTTP2 с помощью apache2 и certbot-auto, дело в том, что у меня есть другой рабочий сервер с HTTP2 + Apache2 + с сертификатом letsencrypt, HTTP2 отлично работает на этом сервере. У меня есть это на обоих серверах:
SSLHonorCipherOrder on
SSLProtocol all -SSLv3
SSLCipherSuite ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS
SSLOpenSSLConfCmd DHParameters "/etc/ssl/private/dhparams_4096.pem"
Я попытался восстановить оба ключа dhparams с помощью:
openssl dhparam -out /etc/ssl/private/dhparams_4096.pem 4096
Перезапускаю апач, та же проблема, сервер 1 работает, сервер 2 нет.
На ssllabs.com у меня есть хром, FF, ...:
Server negotiated HTTP/2 with blacklisted suite
Если я тестирую с:
openssl s_client -host 127.0.0.1 -port 443
На рабочем сервере у меня есть:
Server Temp Key: ECDH, P-256, 256 bits
New, TLSv1/SSLv3, Cipher is ECDHE-RSA-AES128-GCM-SHA256
На нерабочем сервере:
Server Temp Key: DH, 4096 bits
Cipher : DHE-RSA-AES128-GCM-SHA256
Я знаю, что для работы должен быть ключ ECDH, но я не знаю, почему он не работает, поскольку все серверы имеют одинаковую конфигурацию!
Я всегда использую: certbot-auto --apache -d mydomain.com для создания сертификата, я работаю с HTTP2 на первом сервере, а не на втором (ошибка неадекватной безопасности и переход на http1.1)
Вы можете помочь мне ? Мне нужна рабочая конфигурация с apache2 и SSL/HTTP2, мне не нужна совместимость со старыми браузерами. Или, если вы знаете очень хороший рабочий учебник, чтобы сделать это.
Apache 2.4.25 и открытый ssl 1.0.2k на обоих серверах.
openssl s_client -host 127.0.0.1 -port 443
может быть неправильной. Вам подойдет строка комплекта шифров"HIGH:!kRSA:!aNULL:!MD5:!RC4"
. Он пройдет аудит SSL Labs, и ChaCha20/Poly1305 будет предпочтительнее для TLS 1.3 (когда он станет доступен). Также см. Ошибка 963: поддержка TLS 1.3 в системе отслеживания проблем OpenSSL. - person jww   schedule 02.03.2017