![通过隧道配置 Redis 集群](https://linux22.com/image/687939/%E9%80%9A%E8%BF%87%E9%9A%A7%E9%81%93%E9%85%8D%E7%BD%AE%20Redis%20%E9%9B%86%E7%BE%A4.png)
我正在尝试设置一个通过 stunnel 进行通信的 3 节点 Redis 集群。
Redis 在端口 6379(可配置)上监听客户端发布/订阅,并在配置的端口 +10000(不可配置 - 在这种情况下变为 16379)上监听集群通信。
我在配置 stunnel 方面不太走运。有人能指导我完成配置吗?
这是我对节点 1 得到的结果:
cert = /etc/stunnel/private/private.pem
pid = /var/run/stunnel.pid
[6382]
client = yes
accept = localhost:6382
connect = redis2:26382
[6383]
client = yes
accept = localhost:6383
connect = redis3:26383
[26381]
client = no
accept = 26381
connect = 6381
其他节点具有遵循类似模式的配置。
http://redis.io/topics/cluster-tutorial说 redis 集群模式“不支持 NATted 环境以及重新映射 IP 地址或 TCP 端口的一般环境。”
答案1
上周我尝试配置一个使用 stunnel 进行安全的 redis 服务器集群,并且我使用 redis-trib 启动集群,但是当节点开始向其余节点发送 cluster meet 命令时出现问题,因为节点中的 redis 库告诉我它没有连接到节点。
配置与指定的相同,每个主节点有 3 个主节点和 2 个复制节点,在 stunnel 配置文件中定义一个服务器,该服务器在任意端口接收信息,对信息进行安全保护,并发送到本地主机的 redis 端口,每个副本节点都有一个客户端配置,在我的情况下是两个,它们通过本地主机的任意端口调用外部节点的安全端口,并在 redis-trib 脚本中指定了安全客户端:
localhost:xxxx localhost:xxxx ...