Я пытался использовать Apache Bench (ab) на моем локальном сервере, который работает HTTP-сервер Apache с включенным модулем ssl , использующий TLS1.3 в качестве протокола для связи, но каждый раз, когда я пытаюсь его использовать, я на моем терминале командной строки появляется сообщение об ошибке установления связи SSL .
Я просто установил apache2 на свой локальный компьютер (работающий под управлением Zorin OS 15.2) и внес некоторые изменения в файле ssl.conf , в котором я указал протоколы SSL для использования:
SSLProtocol -all +TLSv1.2 +TLSv1.3
и в файле конфигурации сайта для активации механизма SSL укажите все файлы сертификатов, присвоение имени сервера и т. д.
После того, как все это сделано, я просто запускаю команду ab для тестирования, и если я запускаю команду следующим образом:
ab -n 100 -c 10 https://myhostname/
Все работает нормально, но если я попытаюсь указать протокол TLS1.3, использующий один шифр, который используется для TLS1.3, дает следующее сообщение об ошибке:
ab -n 1000 -c 50 -Z TLS_AES_256_GCM_SHA384 https://myhostname:443/
This is ApacheBench, Version 2.3 <$Revision: 1807734 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/
Benchmarking hostname (be patient)
SSL handshake failed (1).
139632751683456:error:141A90B5:SSL routines:ssl_cipher_list_to_bytes:no ciphers available:../ssl/statem/statem_clnt.c:3786:No ciphers enabled for max supported SSL/TLS version
Что мне странно, если я запускаю ту же команду, используя некоторые шифры, поддерживаемые TLS1.2, все работает нормально, но если я использую какие-либо шифры, поддерживаемые TLS1.3, я получаю эту ошибку.
Я даже пытался выполнить простое подключение, используя openssl s_client с опцией - tls1_3 для подключения к моему сервер, использующий TLS1.3 в качестве протокола, и соединение работает нормально.
Вот список программного обеспечения, которое я использую:
Я просто хочу запустить ту же команду, но с использованием шифров, поддерживаемых протоколом TLS1.3.
Документация для ab – инструмент для тестирования HTTP-серверов Apache содержит:
-f
протоколУкажите протокол SSL/TLS (SSL2, SSL3, TLS1, TLS1.1, TLS1.2 или ВСЕ). Поддержка TLS1.1 и TLS1.2 доступна в версиях 2.4.4 и позже.
Это также упоминается в журнале изменений:
Изменения в Apache 2.4.4
ab
: добавьте параметры TLS1.1/TLS1.2 в-f
. ] и адаптируйте вывод для более точного отчета о согласованном протоколе. PR 53916. [Николас Пернас Марадей, Каспар Бранд]
Поскольку аналогичного упоминания о TLS 1.3 нет, можно предположить, что ab
его еще не поддерживает (несмотря на то, что Apache 2.4 поддерживает TLS 1.3).