CAS v7.1.6配置Redis Sentinel存储票据时添加密码属性触发单机Redis连接的问题
CAS v7.1.6配置Redis Sentinel存储票据时添加密码属性触发单机Redis连接的问题
嘿,这个坑我之前踩过!这其实是CAS v7.1.x版本里Redis配置绑定的一个小问题——当你直接用通用的cas.ticket.registry.redis.password属性时,CAS的配置逻辑会优先识别这是单机Redis的配置,直接触发单机Redis客户端的初始化,完全忽略你之前配好的Sentinel相关参数,所以才会默认去连localhost:6379。
解决方法很简单,你得用Sentinel专属的密码配置项,而不是通用的Redis密码属性:
- 把
cas.ticket.registry.redis.password替换成cas.ticket.registry.redis.sentinel.password - 同时要确保你的Sentinel核心配置是完整的,不能缺项:
cas.ticket.registry.redis.sentinel.master:指定你的Sentinel集群的主节点名称,比如mymastercas.ticket.registry.redis.sentinel.nodes:配置所有Sentinel节点的地址列表,格式是host1:26379,host2:26379,host3:26379- 再加上刚才说的
cas.ticket.registry.redis.sentinel.password来设置集群的认证密码
改完配置之后,重启CAS服务,你可以看下日志里的连接日志,应该就会指向你配置的Sentinel节点,而不是默认的localhost:6379了。
另外要注意,如果你还需要给Redis主从节点单独设置认证密码(和Sentinel的密码不一样的话),可以再加一个cas.ticket.registry.redis.password,但这时候必须确保Sentinel的所有配置项都已经正确设置,CAS才会优先走Sentinel的配置逻辑,不会再跳到单机模式。
内容来源于stack exchange
相关产品推荐
相关产品推荐

