redis cluster 集群设置密码,提升安全性
前言
为了安全性,想redis cluster这种缓存服务最好在限制IP访问的同时,也要设置密码验证。
节点设置密码
1、修改配置文件
在配置文件里面增加密码选项,一定要加上masterauth,不然Redirected的时候会失败。
masterauth redispassword
requirepass redispassword
修改后需要重启redis节点。
2、动态修改
连接redis节点进行配置设置,然后config rewrite 将配置同步到配置文件中,不需要重启节点。
redis-cli -p 8001 -c
config set masterauth redispassword
config set requirepass redispassword
config rewrite
注意:每个节点的密码需要保持一致,不然Redirected的时候会失败。
第二种方式不需要重启服务比较快,同时也修改了配置文件 。
集群工具设置密码
默认集群管理工具redis-trib.rb是没有密码的,也没有通过参数可以设置密码。但是这个ruby脚本是调用ruby的redis模块,因此我们只需要找到ruby的client.rb文件,在这个脚本里面修改配置就可以了。
如果使用gem安装一般是可以在家目录下找到client.rb这个脚本。具体可以使用find查找一下:find / -name 'client.rb'
class Client
DEFAULTS = {
:url => lambda { ENV["REDIS_URL"] },
:scheme => "redis",
:host => "127.0.0.1",
:port => 6379,
:path => nil,
:timeout => 5.0,
:password => "redispassword",
:db => 0,
:driver => nil,
:id => nil,
:tcp_keepalive => 0,
:reconnect_attempts => 1,
:inherit_socket => false
}
注意:这个修改之后,本机其他ruby脚本调用默认也是这个密码。