Springboot 集成 Redis集群配置公网IP连接报私网IP连接失败问题
2022年1月12日约 662 字大约 2 分钟
在Springboot 集成 Redis集群配置公网IP连接报私网IP连接失败,****redis集群
配置文件
include /soft/redis/cluster/redis.conf
# 当我们采用yes时,redis会在后台运行,此时redis将一直运行,除非手动kill该进程。
daemonize yes
port 6379
#把pid进程号写入pidfile配置的文件
pidfile /var/run/redis_6379.pid
#(指定数据文件存放位置,必须要指定不同的目录位置,不然会丢失数据)
dir /soft/redis/cluster/6379
# 开启集群设置
cluster-enabled yes
# 设置节点配置文件 (集群节点信息文件,这里最好和port对应上)
cluster-config-file node-6379.conf
# 设置节点失联时间,超过该时间(毫秒),集群自动进行主从切换
cluster-node-timeout 10000
# 云服务器上部署需指定公网ip
cluster-announce-ip 101.43.187.71
bind 0.0.0.0
#(关闭保护模式)
protected-mode no
appendonly yes
#(设置redis访问密码)
requirepass ******
#(设置集群节点间访问密码,跟上面一致)
masterauth ******
dbfilename dump_6379.rdb
# 日志文件
logfile "/soft/redis/cluster/log/6379.log"
让Redis暴露公网IP其实在redis.conf配置文件里是能找到的,这里手动指定Redis的公网IP、端口以及总线端口(默认服务端口加10000)。
手动指定了公网ip后,Redis集群中的节点会通过公网IP进行通信,也就是外网访问。因此相关的总线端口,如下面的16381等总线端口必须在云服务器中的安全组中放开
方法一:配置文件添加
删除各个节点相关的产生的节点信息,只保留配置文件,
# 云服务器上部署需指定公网ip
cluster-announce-ip 42.192.119.238
# Redis总线端口,用于与其它节点通信
cluster-announce-bus-port 16381
放法二:
- 连接到对应的redis节点:redis-cli -p
- 更改集群对外暴露ip的配置:
config set cluster-announce-ip 47.97.193.38(公网ip)
config rewrite
exit
对每一个节点都更改一下这个配置再次Springboot连接即可正常访问
贡献者
wangjialin