Redis SSL/TLS配置以及Jedis SSL连接
Redis 6.2X SSL/TLS加密配置研究(主从、集群、压测)最近因工作需要配置Redis 6.2X版本的SSL/TLS加密网上资料比较少,并且多是直接客户端和服务端直接连接,并未说明主从、集群如何配置,踩了一部分坑,做个记录前提Redis 6.2X和Redis 6.0X都支持SSL/TLS,但Redis 6.2X比较好的一点是不需要升级gcc版本,默认centos7的gcc版本是4.8,
Redis 6.2X SSL/TLS加密配置研究(主从、集群、压测)
最近因工作需要配置Redis 6.2X版本的SSL/TLS加密网上资料比较少,并且多是直接客户端和服务端直接连接,并未说明主从、集群如何配置,踩了一部分坑,做个记录
前提
-
Redis 6.2X和Redis 6.0X都支持SSL/TLS,但Redis 6.2X比较好的一点是不需要升级gcc版本,默认centos7的gcc版本是4.8,但是Redis6.0X编译是需要升级gcc版本到5.3以上,而Redis6.2X是不需要的
-
目前以Redis 6.2X某版本作为研究对象
- 编译:make BUILD_TLS=yes(如果不这样编译,默认不开启SSL/TLS)
- 进入到编译目录,执行./utils/gen-test-certs.sh(Redis自带工具,证书文件,生成的目录在tests/tls目录下,避免自己去搞一些无效的证书)
常规配置
port 0
tls-port 6379
tls-cert-file ~/tests/tls/redis.crt
tls-key-file ~/tests/tls/redis.key
tls-ca-cert-file ~/tests/tls/ca.crt
这样配置文件就算配置完成了
客户端执行:~/src/redis-cli --tls --cert ~/tests/tls/redis.crt --key ~/tests/tls/redis.key --cart ~/tests/tls/ca.crt
即可进行连接成功
主从配置
主从配置需要在常规配置的基础上,增加配置tls-replication
port 0
tls-port 6379
tls-cert-file ~/tests/tls/redis.crt
tls-key-file ~/tests/tls/redis.key
tls-ca-cert-file ~/tests/tls/ca.crt
tls-replication yes
- 启动客户端 ~/src/redis-cli --tls --cert ~/tests/tls/redis.crt --key ~/tests/tls/redis.key --cart ~/tests/tls/ca.crt
- 执行 REPLICAOF ip port
集群配置
集群配置需要在上述配置下,增加如下配置tls-cluster, 同时打开集群配置(集群配置如何打开,自己网上查)
port 0
tls-port 6379
tls-cert-file ~/tests/tls/redis.crt
tls-key-file ~/tests/tls/redis.key
tls-ca-cert-file ~/tests/tls/ca.crt
tls-replication yes
tls-cluster yes
- 执行如何配置进行创建
~/src/redis-cli --tls --cert ~/tests/tls/redis.crt --key ~/tests/tls/redis.key --cart ~/tests/tls/ca.crt --cluster create ip:port ip:port ip:port --cluster-replicas 0
Jedis配置
主要是创建SSLFactory,参照此篇文章【转】网络安全-Java SSLSocketFactory 创建方式 - mao2080 - 博客园
错误信息
-
主从连接或者客户端连接经常遇到报错
提示未知协议,实际上还是tls加密问题,以及检查tls-replication yes是否打开
-
创建集群时遇到报错
会提示这不是一个cluster 节点,检查过配置cluster-enable是打开的,最终发现是tls加密问题
更多推荐
所有评论(0)