Redis 7仅TLS连接下redis-benchmark无法获取CONFIG的解决方法
解决redis-benchmark无法连接TLS加密Redis实例的问题
你的问题核心是redis-benchmark默认不启用TLS连接,而你的Redis 7仅接受TLS请求,导致未加密的连接尝试被拒绝,进而无法获取服务器CONFIG。以下是具体解决方法:
方法一:命令行显式指定TLS参数
直接给redis-benchmark加上TLS相关参数,和你使用redis-cli连接时的参数保持一致即可。
比如你用redis-cli连接的命令是:
redis-cli --tls --cacert /path/to/ca-cert.pem --cert /path/to/client-cert.pem --key /path/to/client-key.pem
对应的redis-benchmark命令应为:
redis-benchmark --tls --cacert /path/to/ca-cert.pem --cert /path/to/client-cert.pem --key /path/to/client-key.pem
如果是测试环境使用自签名证书,可添加--insecure参数跳过证书验证(生产环境禁用):
redis-benchmark --tls --insecure
方法二:通过配置文件简化命令
创建一个Redis客户端配置文件(例如~/.redis-benchmark.conf),写入TLS配置项:
tls yes cacert /path/to/ca-cert.pem cert /path/to/client-cert.pem key /path/to/client-key.pem
运行benchmark时指定该配置文件:
redis-benchmark --config ~/.redis-benchmark.conf
方法三:验证连接有效性
先执行简单的ping基准测试确认参数正确:
redis-benchmark --tls --cacert /path/to/ca-cert.pem ping
若返回正常的测试结果,说明TLS连接配置无误。
额外注意点
- 确保redis-benchmark版本与Redis服务器版本一致(均为7.x),避免版本兼容问题
- 检查证书文件权限,确保运行benchmark的用户拥有读取权限
- 若Redis设置了密码,需添加
-a your-password或--pass your-password参数
内容的提问来源于stack exchange,提问作者ace
相关产品推荐
相关产品推荐

