我试图在本地服务器上使用Apache Bench (ab),该服务器正在运行Apache HTTP ,启用了ssl模块,使用TLS1.3作为通信中使用的协议,但每当我尝试使用它时,命令行终端上都会出现SSL握手失败消息。
我所做的只是在本地PC上安装apache2 (运行ZorinOS15.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所支持的密码。
发布于 2020-07-15 18:52:45
Apache服务器基准测试工具的文档有:
-f协议指定SSL/TLS协议(SSL2、SSL3、TLS1、TLS1.1、TLS1.2或全部)。TLS1.1和TLS1.2支持在2.4.4及更高版本中可用。
在变化量g中也提到了这一点:
Apache 2.4.4中的更改
ab:向-f交换机添加TLS1.1/TLS1.2选项,并调整输出以更准确地报告协商协议。PR 53916。由于在TLS1.3中没有提到类似的内容,所以可以假设ab还不支持它(尽管Apache2.4支持TLS1.3)。
https://serverfault.com/questions/1025363
复制相似问题