问题发生背景
redis版本:redis-4.0.11.tar.gz
- 安全组配置 6379: 已经配置,不存在网络拦截问题
- 注释了bind选项:
#bind 127.0.0.1
- 保护模式开启:
protected-mode yes
解决方案:
1、关闭保护模式
- 修改redis启动配置文件
protected-mode no
2、不关闭保护模式,有两个方法,设置bind 绑定ip地址,或者设置登入验证密码
- 修改bind 参数,让他绑定到一个网络端口bind 192.168.1.202,这个是阿里云ECS 实例的内网地址,记住这里不能设置为实例的外网地址。如果你设置外网地址redis实例都启不起来。这时阿里云实例上运行的redis实例就可以连接外部连接请求,但是这样也有一个不好的问题,就是ECS实例必须通过
./redis-cli -h 192.168.1.202 -p 6379
才能连接上redis实例,不能通过回环地址./redis-cli -h 127.0.0.1 -p 6379
连接上去。一个bind 修改方式添加两个网络接口:bind 192.168.1.202 127.0.0.1 ,这样本地客户端通过/redis-cli -h 127.0.0.1 -p 6379访问,远程客户端通过redis-cli.exe -h 外网ip -p 6379连接。 - 不设置bind 参数,设置requirepass选项。就是给登入redis实例设置验证密码。
- 在配置文件中增加
requirepass 123456
- 在配置文件中增加
这两个方式二选一,随便哪个即可。
也可以两个选项都设置,即设置监听的网络接口IP地址,也设置登入验证密码。