带tls的redis 6

slhcrj9b  于 2021-06-08  发布在  Redis
关注(0)|答案(1)|浏览(607)

我正在尝试让redis6(在编译期间启用tls,编译后的测试成功)工作。我正在使用lets加密证书和以下配置:

tls-port 63790
tls-cert-file /etc/letsencrypt/live/myserver.net/cert.pem
tls-key-file /etc/letsencrypt/live/myserver.net/privkey.pem
tls-ca-cert-dir /etc/letsencrypt/live/myserver.net/
tls-auth-clients no
tls-protocols "TLSv1.2 TLSv1.3"

这个客户端命令来自localhost

redis-cli --tls --cert /etc/letsencrypt/live/myserver.net/cert.pem --key /etc/letsencrypt/live/myserver.net/privkey.pem --cacert /etc/letsencrypt/live/myserver.net/fullchain.pem -h myserver.net -p 63790 -a password

警告:在命令行界面上使用带有“-a”或“-u”选项的密码可能不安全。无法连接到myserver上的redis。net:63790:ssl\u connect failed:证书验证失败
这是redis日志的输出:接受客户端连接时出错:error:14094418:sslroutines:ssl3_read_bytes:tlsv1警报未知ca
当我使用具有相同证书的openssl客户机时,我能够连接并从redis服务器获得ping回复
不管我是否改变

tls-ca-cert-dir /etc/letsencrypt/live/myserver.net/

tls-ca-cert

在服务器端或--cacert/etc/letsencrypt/live/myserver.net/fullchain.pem到客户端的chain.pem,我尝试了

tls-protocols ""

和改变

tls-auth-clients no

tls-auth-clients optional

但我还是犯了同样的错误
openssl版本是1.1.1 redis版本是6.0.8 os:ubuntu 20.04
你能帮我找出tls不工作的原因吗?
谢谢您
威尔

uujelgoq

uujelgoq1#

啊,解决了!我把ca链放错了。我不得不将从le网站下载的根证书和中间证书链接到新文件中。对于有同样问题的人来说,它可能很方便。

相关问题