Я использую официальный образ nginx: 1.15.5 со следующими настройками :
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256;
Подтверждение связи с некоторыми шифрами не удается:
openssl s_client -cipher "$cipher" -connect $SERVER
Тестирование ECDHE-ECDSA-AES128-SHA256 ... НЕТ (ошибка подтверждения sslv3 alert)
Я подключил к контейнеру nginx и проверил:
openssl ciphers
, а упомянутый выше шифр был в выводе.
У меня заканчиваются идеи, что может быть причиной того, что рукопожатие с некоторыми шифрами настроено в nginx
и предоставлено openssl
не работает?
Шифрам RSA нужен сертификат с открытым ключом RSA, и шифрам ECDSA нужен сертификат с открытым ключом ECC. Вероятно, у Вас только есть сертификат с открытым ключом RSA (все еще наиболее распространенный), и таким образом только шифры RSA будут работать, но не шифры ECDSA.