Redis 远程访问问题

Redis远程访问问题

安装v5版本后,发现Redis只能在安装的机器上连接,其他机器上均不可访问

起初以为是防火墙的问题,即端口是否放开,检查发现防火墙根本就没有打开,故当前不是防火墙的问题(但是,如果防火墙打开了,不放开端口肯定不行的)

网上查询说是还与配置文件中三个参数有关:bind 、protected-mode、requirepass

先说bind:
bind参数可以指定通过哪些ip来访问当前Redis实例,比如A机器有3个网卡(ip1、ip2、ip3),如果bind 指定ip1,访问时只能通过ip1,比如某个机器公网ip为192.168.3.27 bind指定这个ip,在本机使用127.0.0.1这个ip也不能访问。
127.0.0.1这个ip特殊,指的是本机,故bind这个ip只能本机访问
0.0.0.0这个ip也很特殊,指的是所有ip,bind这个ip多有机器都可以访问
故,为了其他机器可以访问,bind 的ip应制定为0.0.0.0 或者不设置这个参数

再说protected-mode
这个参数设置为yes时,如果bind不设置任何ip或没有设置密码 那么只能ip为127.0.0.1的客户端访问,即本地

其次requirepass
requirepass 为Redis的密码,如果设置了,需要使用密码登录

故为了其他机器客户端可以访问,应采用以下设置的一种:
1)不设置bind或设置为0.0.0.0,protected-mode设置为yes,设置密码 其他客户端使用密码访问
2)不设置bind或设置为0.0.0.0,protected-mode设置为no,其他可以的无密码访问

当然,为了安全起见,采用第一种靠谱些

posted @ 2020-01-16 16:01  守望一心  阅读(249)  评论(0编辑  收藏  举报